[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 yhcfsr 于 2018-6-21 16:47 编辑


  • 传一小段样本过来.现在不确定出现乱码的原因,初步推断可能是文件编码的问题.
  • 至少我WIN10上简单测试,并没有出现空格变?的情况.
  • 删除?的方法是不可取的.
  • 敏感信息,请修改相关内容.
QQ 33892006

TOP

以下脚本,只是单纯的转换,不会对文件内容进行处理.TXT编码为UNICODE,应该可以解决乱码问题.
使用方法:在用户设置区,将路径设置好即可.
  1. '==============用户设置区================='
  2. Dim source,destination
  3. source="d:\test"      '源目录
  4. destination="e:\test" '目的目录
  5. '========================================='
  6. '=================函数定义区=============='
  7. '脚本功能:EXCEL文件另存为TXT'
  8. Function FilesTree(oFolder,dPath,objExcel)
  9.   
  10. '处理当前目录文件
  11. Set oFiles = oFolder.Files   
  12. For Each oFile In oFiles
  13. exName=LCase(Right(oFile.Name,Len(oFile.Name)-InstrRev(oFile.Name,".")+1))
  14. baseName=Left(oFile.Name,InstrRev(oFile.Name,".")-1)
  15.     If exName=".xls" Or exName=".xlsx"  Then
  16. set objWorkbook=objExcel.Workbooks.open(oFile.Path)
  17. objExcel.Workbooks(1).SaveAS dPath&"\"&baseName&".txt",42,true
  18. objExcel.Workbooks(1).Close,ture
  19. End If
  20. Next   
  21.    
  22. '递归处理子目录文件
  23. Set oSubFolders = oFolder.SubFolders
  24. For Each oSubFolder In oSubFolders      
  25. FilesTree oSubFolder,dPath,objExcel   
  26. Next   
  27. End Function
  28. '================函数定义区结束================='
  29. '================主程序开始====================='
  30. Set oFso = CreateObject("Scripting.FileSystemObject")   
  31. If oFso.FolderExists(source) And oFso.FolderExists(destination) Then
  32. set objExcel=CreateObject("Excel.Application")
  33. Set oFolder = oFso.GetFolder(source)
  34. objExcel.DisplayAlerts = False
  35. FilesTree oFolder,destination,objExcel
  36. objExcel.DisplayAlerts = True
  37. objExcel.Quit ' 退出
  38. 'msgbox "处理完成"&vbCrlf&" 即将打开目的目录"
  39. CreateObject("Wscript.Shell").run destination
  40. Else
  41. msgbox "源目录或目的目录不存在"
  42. End If
复制代码
3

评分人数

QQ 33892006

TOP

脚本没什么可优化的了.时间差异我没法测试.
去百度一下相关软件,可能比脚本效率高.
EXCLE中用录制宏来处理,也是可行的.
QQ 33892006

TOP

返回列表