我正在尝试编写一个由Windows任务调度程序运行的Visual Basic脚本。该脚本应该将分隔的文本文件打开到excel中,然后将其另存为.xlsx文件。
Function ImportText()
Path = "C:\Users\username\Documents\"
inFile = "2014_1_31_data_parse.txt"
outFile = "2014_1_31_data_parse.xlsx"
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.OpenText FileName:=Path & inFile, Other:=True, OtherChar:="^"
objExcel.ActiveWorkbook.SaveAs FileName:=Path & outFile
objExcel.Quit
WScript.Quit
WScript.Echo "Completed"
End Function
目前它无法找到运行时错误1004的文件。但是文件就在那里。
答案 0 :(得分:0)
您的代码存在一些问题,但首先要改变的是方法调用语法。您正在使用命名参数(我猜测它来自录制的宏?)。
objExcel.Workbooks.OpenText FileName:=Path & inFile, Other:=True, OtherChar:="^"
应改为
objExcel.Workbooks.OpenText Path & InFile, , , , , , , , , , True, "^"
如果您在VBA编辑器中使用IntelliSense,则很容易看到 一旦你解决了这个问题,你就会遇到错误处理和其他在应用程序不可见时变得更难的问题,但这是一个不同的故事