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

[问题求助] [已解决]VBS脚本怎样获取Excel文件里面有哪些Worksheet?

[复制链接]
发表于 2012-5-17 01:27:30 | 显示全部楼层 |阅读模式
本帖最后由 gawk 于 2012-5-18 06:47 编辑

我有一个Excel文件,里面有30多个Worksheet,怎样用VBS脚本导出它们的名称呢?

评分

参与人数 1PB +2 收起 理由
zqz0012005 + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-5-17 09:01:27 | 显示全部楼层
导出成jpg
发表于 2012-5-17 14:35:38 | 显示全部楼层
本帖最后由 Demon 于 2012-5-17 14:40 编辑


'Author: Demon
'Website: http://demon.tw
'Date: 2012/5/17
Option Explicit
'Must be full path
Const xls = "C:\Users\Demon\Desktop\demo.xls"
Dim Excel, Workbook, Worksheet
Set Excel = WScript.CreateObject("Excel.Application")
Set Workbook = Excel.Workbooks.Open(xls)
For Each Worksheet In Workbook.Worksheets
    WScript.Echo Worksheet.Name
Next
Workbook.Close
Excel.Quit

评分

参与人数 1技术 +1 收起 理由
gawk + 1 乐于助人

查看全部评分

发表于 2012-5-17 14:42:58 | 显示全部楼层
如果没有安装excel(比如我)

  1. xls = "C:\Users\root\Desktop\1.02战法数据表.xls"

  2. strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  3.     "Data Source=" & xls & ";Extended Properties=""Excel 8.0;"";"

  4. Set AdoCnn = CreateObject("ADODB.Connection")
  5. AdoCnn.Open strConnect
  6. Set rs = AdoCnn.OpenSchema(20)
  7. Do Until rs.EOF
  8.     WScript.Echo rs.Fields("table_name")
  9.     rs.MoveNext
  10. Loop
  11. AdoCnn.Close
复制代码
适当整理一下即可(ado有个小问题是会把名字中的点.替换为#,如果结果中出现#则无法得知确切名称)。
 楼主| 发表于 2012-5-18 06:39:13 | 显示全部楼层
回复 3# Demon


    测试成功,感谢分享。
 楼主| 发表于 2012-5-18 06:46:56 | 显示全部楼层
回复 4# powerbat


测试发现的几个小问题:
1、得到的列表没有按照原来的顺序,被排序了。
2、行尾多了$符号。
3、有空格的sheet的行首和行尾还被加了单引号。

不会调整
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 12:31 , Processed in 0.021031 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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