0

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

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

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

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

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

给我一个错误,说“工作簿类的 OpenText 方法失败”,代码 800A03EC。我究竟做错了什么?我见过其他人使用这种方法。我的 txt 文件的格式没有什么特别之处,它只是文本。

谢谢你的帮助。

4

2 回答 2

2

VBScript 没有命名常量。

采用

objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True, " "
于 2013-08-27T12:06:49.457 回答
1

VBScript 无法识别 VBA 命名常量。如果要xlDelimited在代码中使用,则必须在脚本中定义常量:

Const xlDelimited = 1

否则你将不得不使用克里斯尼尔森指出的文字值。

另一个问题是方法调用中的第 11个参数类型错误。该参数必须是一个布尔值,指示您是否要使用不同的分隔符。它是参数 #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

有关更多详细信息,请参阅文档

于 2013-08-27T16:44:26.140 回答