与我之前的问题一样,如果我使用VBA,这将非常简单,但我必须使用VBScript。我知道如何使用OpenText导入txt文件,如下所示:
objExcel.WorkBooks.OpenText "path\xxxx.txt"
这样可以正常工作,但文本不会自动放入Excel中的列中。所以我假设我需要指定分隔符。
但是,在尝试向方法添加选项时出现错误。例如
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , xlDelimited, , , , , , True, " "
给我一个错误,说“Workbooks类的OpenText方法失败”,代码800A03EC。我究竟做错了什么?我见过其他人使用这样的方法。关于我的txt文件是如何格式化没什么特别的,它只是文本。
感谢您的帮助。
答案 0 :(得分:2)
VBScript没有命名常量。
使用
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True, " "
答案 1 :(得分:1)
VBScript无法识别VBA命名常量。如果要在代码中使用xlDelimited
,则必须在脚本中定义常量:
Const xlDelimited = 1
否则你必须使用chris neilsen指出的文字值。
另一个问题是方法调用中的11 th 参数类型错误。该参数必须是一个布尔值,指示是否要使用不同的分隔符。它是参数#12,您实际指定了自定义分隔符,因此您需要更改行
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True, " "
到
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , , True, " "
让它发挥作用。
当然,如果要导入以空格分隔的文本,只需将参数#9设置为True
,而无需指定OtherChar
值:
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True
有关详细信息,请参阅documentation。