Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3710|回复: 2

菜鸟求助修正关于excel计算字数代码,因来源于word文档菜鸟不会断句修改,求助大虾。

[复制链接]
发表于 2014-4-27 22:05 | 显示全部楼层 |阅读模式
5学分
本帖最后由 rglxjrglxj 于 2014-5-3 20:25 编辑

因来源是word文档无法执行,菜鸟不会断句修改,求助大虾。
DimarrFiles(1000)AsString
DimcntFilesAsInteger
SubcountCharsInDir()
Dimi,posAsInteger,S~mFold,kerAsString
DimfsoAs”NewFileSystemObject,fdAsFolder
DimxlAppAsObject
DimxlBookAsObject
DimxlSheetAsObject
DimtotalChars(1O00)AsInteger
DimtotalrowsAsInteger
DimtotalcolumnsAsInteger
DimselectedFileAsString
显示文件选择对话框,获取用户选择的文件
Sheet1.CommonDialog1.
GotFocus
selectedFile=Sheet1.CommonDialog1.Filename
从用户选择的文件中,获得文件所在的目录路径(不含文
件的名字)
pos=InStrRev(selectedFile,”Len(selectedFile),.
vbTextCompare)
StartFolder=Left(Sheet1.CommonDialog1.Filename,pos-1)
Debug.PrintStartFolder
?cntFiles=0
Setfd:fso.GetFoldert~StartFolder)
SearchFilesfd’将文件夹中的所有exeel-I-作簿都存放到
数组arrFiles
?从数组中读出这些excel工作簿,并创建excel对象,
行统计字数操作
SetxlAppCreateObject(“Exce1.Application”1
Fori=1ToentFiles
SetxlBook=xlApp.Application.Workbooks.Open(arrFiles(i))
toudChars(i’)=0
遍历工作簿中的每个工作表
DimjAsInteger
j=xlBook.Sheets.Count
Fork=1T0j
SetxlSheet=xlBook.Workshee~(k)
totalrows=xlSheetUsedRangeBowsCount’获取最大行数
totalcolumns=xlSheet.UsedRange.Cohmns.Count’获取最大
列数
Iftotalrows>1Ortotalcolumns>1Then
xlSheet.Range(“A”&totalrows+1).FormulaArray.”=SUM
0~EN(R[“&totalrows&”C:R1C..&totalcolumns1&”]))”
totaEhars(i)=totalChars(i)+xlSheetaRange~’A”&totaLrows+1)
EndIf
Nextk
xlBook.Saved=True
xlBook.Close
Nexti
创建新的工作簿,然后将统计的数据写入到新创建的工作
表中
SetxlBook=xlApp.Application.Workbooks.Add
SetxlSheet=xlBook.Worksheets(1)
Fori=1TocntFiles
xlSheet.Range(“A”&i)=arrFiles(i)
xlSheet.Range(“B”&i)=totalChars(i)
Nexti
savefilename=Application.GetSaveAsFilename(“total”,”
Excelfiles(*.xls),.(1s”)
x.1Book.SaveAsFilename:=savefilename.FileFormat:=
xlWorkbookNormal
xlBook.Close
xlApp.Quit
EndSub
SubSearchFiles(ByValfdAsFolder)
DimflAsFile
DimsfdAsFolder
ForEachflInfd.Files
InStrRev(.Name,”.xls”,Len(n.Name),vbTextCompare)>
0en
cntFiles=cntFiles+1
arrFiles(entFiles)=f1.Path
EndIf
Nextfl
fd.SubFolders.Count=OThen
ExitSub
EndIf
ForEachsfdInfd.SubFolders
SearchFilessfd
Next
EndSub

附件.zip

19.73 KB, 下载次数: 2

发表于 2014-4-27 23:59 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-4-28 11:46 | 显示全部楼层
这段代码是网上下载的写在Word里,不能执行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-6 09:43 , Processed in 0.303556 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表