Board logo

标题: [求助]VBS 参数和部分代码失效的问题 [打印本页]

作者: NaturalJ0     时间: 2006-11-4 03:44    标题: [求助]VBS 参数和部分代码失效的问题


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=[#dddddd]")
batFile.WriteLine("for /f ""delims="" %%i in ('findstr /v /c:"" , , , "" Sheet%1.txt') do (echo !colour!%%i>>Table.txt")
batFile.WriteLine("        if !colour!==[#ffffff] (set colour=[#eeeeee]) else (set colour=[#ffffff])")
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 ]
作者: NaturalJ0     时间: 2006-11-6 21:34
再问一次
作者: voiL     时间: 2006-11-6 22:48
帮你再问一次.
作者: ccwan     时间: 2006-11-6 23:08
我也帮你顶一个。
作者: electronixtar     时间: 2006-11-10 00:41
我在 幻影 上问了这个问题,被鄙视了~~ zzzevazzz 说,不是没生成,而是你没找到。开始 运行 . 回车 就能看到生成的 color.bat 了(也就是大家熟悉的 %userprofile% 下面) ,呵呵

[ Last edited by electronixtar on 2006-11-10 at 12:42 AM ]
作者: ccwan     时间: 2006-11-11 22:12
谢谢electronixtar,并请NaturalJ0将没写的那部分代码共享