使用VBScript:错误在Excel 2003中分隔txt文件

时间:2013-08-27 11:06:11

标签: excel vbscript

与我之前的问题一样,如果我使用VBA,这将非常简单,但我必须使用VBScript。我知道如何使用OpenText导入txt文件,如下所示:

objExcel.WorkBooks.OpenText "path\xxxx.txt"

这样可以正常工作,但文本不会自动放入Excel中的列中。所以我假设我需要指定分隔符。

但是,在尝试向方法添加选项时出现错误。例如

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , xlDelimited, , , , , , True, " "

给我一​​个错误,说“Workbooks类的OpenText方法失败”,代码800A03EC。我究竟做错了什么?我见过其他人使用这样的方法。关于我的txt文件是如何格式化没什么特别的,它只是文本。

感谢您的帮助。

2 个答案:

答案 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