我是VBScript的新手,必须将固定宽度的文件导入Excel并保存 一切都有效,直到保存它 我正在努力
Set objExcel = CreateObject("Excel.Application")
Set objWB = objExcel.ActiveWorkbooks
objWB.SaveAs("path\to\folder\outputTest1")
每次我尝试启动它时,都会出现以下错误:
Object doesn't support this property or method: 'objExcel.ActiveWorkbooks'
我做错了什么?
编辑: 感谢Simoco我解决了这个问题,但现在我收到了这个错误:
Object Required: 'objWB'
尽管我已经设定了它...... 这是我的完整代码:
Const xlFixedWidth = 2
Set objExcel = CreateObject("Excel.Application")
Set objWB = objExcel.ActiveWorkbook
objWB.SaveAs("I:\Zd\Zdik\SwitchMacAdd_Scripts\excel_output\outputTest1")
objExcel.DisplayAlerts = false
objExcel.Visible = True
objExcel.Workbooks.OpenText _
"I:\Zd\Zdik\SwitchMacAdd_Scripts\output_raw\output.txt",,,xlFixedWidth,,,,,,,,,Array(Array(0,1),Array(4,1),Array(22,1), Array(34,1))
答案 0 :(得分:1)
假设你有这个固定宽度的文件:
20140623112524TXT [其余部分]
第一个字段是格式为YYYYmmdd的日期,从第0列开始,长度为8
第二个字段是一个数字,从第8列开始,长度为6
第3个字段是一个文本,从第14列开始,长度为3
要将此转换为excel并使用vbscript保存excel,您可以:
Const xlGeneralFormat = 1
Const xlTextFormat = 2
Const xlYMDFormat = 5
Const xlYDMFormat=8
Const xlSkipColumn = 9
Const xlFixedWidth = 2
Set oExcel = CreateObject("Excel.Application")
oExcel.Workbooks.OpenText [infilename],,[fstline],xlFixedWidth,,,,,,,,, _
Array( Array(0, xlYMDFormat),Array(8, xlGeneralFormat),Array(14, xlTextFormat))
oExcel.Visible = True
oExcel.ActiveWorkbook.SaveAs [outfilename]
[infilename] 是要处理的文件
[fstline] 是要处理的第一行
[outfilename] 是excel文件的名称。
阅读本文以了解有关数据类型的更多信息:http://msdn.microsoft.com/en-us/library/aa221100(office.11).aspx
答案 1 :(得分:0)
如果以上是您的完整代码,那么您需要Dim objWB
和Dim objExcel
因为这些应该在您向其分配内容之前声明,同时也将Option Explicit
添加到顶部代码可能有助于提供更好的错误消息,即“未定义变量”