找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23039|回复: 6

[文本处理] 请教各位,怎样才能将结果导出到excel的第二列呢

[复制链接]
发表于 2011-7-11 07:52:24 | 显示全部楼层 |阅读模式
请教各位大侠,我有文本a.txt
111;222;333;444
555;666;777;888
999;101;102;103
我先提取文本a.txt第二列数据到b.excel后,我想再提取文本a.txt第四列数据到b.excel的第二列,注意是导出到excel的第二列,这该怎么弄啊。请各位大侠指点
发表于 2011-7-11 08:34:07 | 显示全部楼层
本帖最后由 ArdentMan 于 2011-7-11 08:36 编辑

  1. Dim Path, FSO, EXCEL, Book, Arr, Str
  2. Path = CreateObject("Wscript.Shell").CurrentDirectory & ""
  3. Set FSO = CreateObject("Scripting.FileSystemObject")
  4. Str = FSO.OpenTextFile("a.txt").ReadAll()
  5. Arr = Split(Str, vbCrLf)
  6. Set FSO = Nothing
  7. Set EXCEL = CreateObject("Excel.Application")
  8. EXCEL.Visible = False
  9. Set Book = EXCEL.Workbooks.Open(Path & "b.xls")
  10. For Each Str In Arr
  11.   If Str <> "" Then
  12.     i = i + 1
  13.     EXCEL.Cells(i, 2).value = Split(Str, ";")(3)
  14.   End If
  15. Next
  16. Book.Save
  17. Book.Close
  18. Set Book = Nothing
  19. EXCEL.Quit
  20. Set EXCEL = Nothing
  21. MsgBox "导入完成!", , "ArdentMan友情提示"
复制代码
注:
  楼主的文本式样中的分隔符是全角的分号,是不是搞错了,如果搞错了请将代码Split(Str, ";")(3)中的全角分号改为半角分号,b.excel应该为b.xls,代码保存为test.vbs到a.txt和b.xls所在目录中双击运行,有问题请及时反馈~~~
 楼主| 发表于 2011-7-11 09:05:19 | 显示全部楼层
奥  谢谢ArdentMan 大哥, Str = FSO.OpenTextFile("a.txt").ReadAll()
这句怎么报错呢,还有批处理能有达到这样的目的不啊
发表于 2011-7-11 09:13:52 | 显示全部楼层
本帖最后由 ArdentMan 于 2011-7-11 09:16 编辑

3# lengguoyong

改为Str = FSO.OpenTextFile(Path & "a.txt").ReadAll()

批处理不能对已有的xls文件进行操作,除非是用cmd直接生成的xls文件。
 楼主| 发表于 2011-7-11 09:15:11 | 显示全部楼层
改为了这个好像也不行,我直接把绝对路径填了就好了 , 请问批处理能实现这样的功能不啊
 楼主| 发表于 2011-7-11 09:54:33 | 显示全部楼层
如果a.txt文本前面有5行不相关数据,如何跳开这5行数据,然后再取下面第四列数据到excel啊,
发表于 2011-7-11 10:06:46 | 显示全部楼层

  1. Dim Path, FSO, EXCEL, Book, Arr, Str
  2. Path = CreateObject("Wscript.Shell").CurrentDirectory & ""
  3. Set FSO = CreateObject("Scripting.FileSystemObject")
  4. Str = FSO.OpenTextFile(Path & "a.txt").ReadAll()
  5. Arr = Split(Str, vbCrLf)
  6. Set FSO = Nothing
  7. Set EXCEL = CreateObject("Excel.Application")
  8. EXCEL.Visible = False
  9. Set Book = EXCEL.Workbooks.Open(Path & "b.xls")
  10. i = -5
  11. For Each Str In Arr
  12.   If Str <> "" Then
  13.     i = i + 1
  14.     If i > 0 Then EXCEL.Cells(i, 2).value = Split(Str, ";")(3)
  15.   End If
  16. Next
  17. Book.Save
  18. Book.Close
  19. Set Book = Nothing
  20. EXCEL.Quit
  21. Set EXCEL = Nothing
  22. MsgBox "导入完成!", , "ArdentMan友情提示"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 18:59 , Processed in 0.060437 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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