中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 05:40
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » vbs对excel操作遇到一问题.不知如何解决.!
可打印版本  2,033 / 5
第1楼 piziliu2004 发表于 2006-08-18 15:37
中级用户 发帖 139 积分 321
vbs对excel操作遇到一问题.不知如何解决.!
我这里有一目录c:\excel 下有100个文件名不同但数据格式相同的表.
我想把100个excel表里面的第三列复制到一个新的excel test.xls中.
附件result01.xls是100个其中的一个范例.

谢谢.!

附件
result01.zip (8.86 KiB)
第2楼 piziliu2004 发表于 2006-08-18 17:04
中级用户 发帖 139 积分 321
在网上查相关信息,好象是说用VBS缺少一些库函数支持不能实现, 好象的用VB,VBA才行..! 是真的么? 难道VBS的应用就这么狭小?
第3楼 electronixtar 发表于 2006-08-18 17:47
铂金会员 发帖 2,672 积分 7,493
hmm,只知道调用的是 Excel.Application 对象
第4楼 3742668 发表于 2006-08-18 22:14
荣誉版主 发帖 718 积分 2,013
『第 2 楼』:

在网上查相关信息,好象是说用VBS缺少一些库函数支持不能实现, 好象的用VB,VBA才行..! 是真的么? 难道VBS的应用就这么狭小?


vbs本身其实并没有什么太强大的功能,脚本嘛,主要的用途还是用来自动完成需要重复或监管的工作,至于那么多的功能,其实都是依靠系统以及应用程序提供的支持。所以你实现不了某个功能不能说VBS不行,应该说你的系统或者应用程序没有相应的功能。
关于用VBS操作Excel,如楼上所述,需要调用Excel.Application 对象,下面是摘自《The Portable Script Center》中的一篇《Read an Excel Spreadsheet》,你可以参考一下:

另外我印象中利用ADODB.Connection对象也是可以读取excel的,不过由于没有接触过excel,一直没有尝试过,你可以自行搜索一下。
第5楼 piziliu2004 发表于 2006-08-20 09:52
中级用户 发帖 139 积分 321
谢谢各位!!!.Excel.Application之前也有所了解.! 只是在网上没找到Excel.Application
库的更多用法.! 如新建一个excel,或新建一个worksheet.判断一列结尾符(考虑到一列可能中间有空格。情况的判断。),等。!。
呵呵。! 算了我还是用vb去实现把。
对了问一下electronixtar ”hmm“是什么网络术语?呵呵。
第6楼 mobo 发表于 2006-09-24 09:57
初级用户 发帖 30 积分 73
VBS可以对XLS文件进行读写,本文只有读取表头示范
'''XLS文件表头检查VBS脚本,请修改为你所需处:
''' ---------------MOBO[墨伯]原创 2006-09-23
'''取自本人代表作:成绩统计分析软件-一步到位[提升版],COM加载项,文件形式:dll
Dim Hstr: Dim XLS

Main

'''获取当前文件夹:---------------------------------------
Sub Main()

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("检查当前文件夹下所有XLS表头格式.vbs")
HERE = objFSO.GetParentFolderName(objFile)

Const FILE_NAME = 0
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(HERE)

'''遍历当前文件下所有文件:-----------------------------------
For Each strFileName In objFolder.Items
XLS = objFolder.GetDetailsOf(strFileName, FILE_NAME)
If Right(XLS, 4) = ".xls" Then
getHead HERE & "\" & XLS
End If
Next

'''调用过程---产生网页:
link Hstr

End Sub

'''获取电子表格之表头:
Sub getHead(path)
Set XLApp = CreateObject("Excel.Application")
Set xlBook = XLApp.Workbooks.Open(path)

endi = xlBook.Sheets(1).UsedRange.Columns.Count
path = Replace(path, " ", "%20")
lnkstr = "<a href=" & path & ">"
Hstr = Hstr & lnkstr & XLS & "" & "</a><br>"
For i = 1 To endi
Hstr = Hstr & xlBook.Sheets(1).Cells(1, i) & " "
Next
Hstr = Hstr & "<br>" & "<br>"

XLApp.Quit
Set XLApp = Nothing
End Sub

'''产生网页,显示结果:
Sub link(ahref)
Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"
objExplorer.Toolbar = 1
objExplorer.StatusBar = 1
objExplorer.Width = 640
objExplorer.Height = 480
objExplorer.Left = i * 10
objExplorer.Top = i * 15
objExplorer.Visible = 1
objExplorer.Document.Body.InnerHTML = ahref
End Sub
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023