中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 08:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]VBS 参数和部分代码失效的问题 查看 1,200 回复 5
楼 主 [求助]VBS 参数和部分代码失效的问题 发表于 2006-11-04 03:44 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线

On Error Resume Next

Dim fso, batFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set batFile = fso.CreateTextFile("Color.bat", True)

batFile.WriteLine("@echo off")
batFile.WriteLine("setlocal enabledelayedexpansion")
batFile.WriteLine("set colour=")
batFile.WriteLine("for /f ""delims="" %%i in ('findstr /v /c:"" , , , "" Sheet%1.txt') do (echo !colour!%%i>>Table.txt")
batFile.WriteLine(" if !colour!== (set colour=) else (set colour=)")
batFile.WriteLine(")")

batFile.Close


dim xlsFile
xlsFile=Wscript.Arguments.Item(0)
Dim iExcel,iWorkbooks
Set iExcel = CreateObject("Excel.Application")
Set iWorkbooks = iExcel.Workbooks.Open(xlsFile)
iExcel.Visible = False
iWorkbooks.Sheets(1).SaveAs Replace(xlsFile, fso.GetFileName(xlsFile), "Sheet1.txt"),6
iWorkbooks.Close False
iExcel.Quit
Set iWorkbooks = Nothing
Set iExcel = Nothing


dim objShell
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "notepad.exe "& Replace(xlsFile, fso.GetFileName(xlsFile), "Sheet1.txt")


小弟最近才接触 VBS ,看了论坛已有的 VBS 代码当参考,从中复制了些,再查了些 CHM ,加上自己发挥,写出上面那段东西。但还是没完成预期的功能,特向大家请教。

对这段代码用意的说明:
将 EXCEL 表格直接拖上 VBS 文件当参数传进去。然后用将这个 XLS 表格文件另存为 TXT 文件,并由 VBS 生成一个 BAT 文件。
(然后再调用 BAT 对 TXT 文件处理下,进而得到最终文件。//这部分还没写)

出现的问题如下:
如果直接运行该 VBS 程序,也就是不传参数进去。则 BAT 文件能顺利生成。
如果拖 EXCEL 表格文件当参数,则转 XLS 文件为 TXT 的功能可以实现,TXT 文件顺利生成,但 BAT 文件却不见生成。

希望高手能指点一二,非常感谢。

[ Last edited by NaturalJ0 on 2006-11-4 at 04:26 AM ]
2 发表于 2006-11-06 21:34 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
再问一次
3 发表于 2006-11-06 22:48 ·  中国 广东 肇庆 四会市 电信
中级用户
★★
积分 384
发帖 189
注册 2005-10-19 13:12
20年会员
UID 43709
性别 男
状态 离线
帮你再问一次.
4 发表于 2006-11-06 23:08 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
我也帮你顶一个。
5 发表于 2006-11-10 00:41 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
我在 幻影 上问了这个问题,被鄙视了~~ zzzevazzz 说,不是没生成,而是你没找到。开始 运行 . 回车 就能看到生成的 color.bat 了(也就是大家熟悉的 %userprofile% 下面) ,呵呵

[ Last edited by electronixtar on 2006-11-10 at 12:42 AM ]

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
6 发表于 2006-11-11 22:12 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
谢谢electronixtar,并请NaturalJ0将没写的那部分代码共享
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
论坛跳转: