使用VBScript在Excel 2003中分隔txt文件:错误
和我以前的问题一样,如果我使用的是VBA,这将非常简单,但是我必须使用VBScript。 我知道如何使用OpenText像这样导入一个txt文件:
objExcel.WorkBooks.OpenText "path\xxxx.txt"
这工作正常,但文本不会自动放入Excel中的列。 所以我假设我需要指定分隔符。
但是,在尝试向该方法添加选项时出现错误。 例如
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , xlDelimited, , , , , , True, " "
给我一个错误说:“工作簿类的OpenText方法失败”,代码800A03EC。 我究竟做错了什么? 我见过其他人使用这种方法。 关于如何格式化我的txt文件没有什么特别的,它只是文本。
谢谢你的帮助。
VBScript不识别VBA命名的常量。 如果要在代码中使用xlDelimited
,则必须在脚本中定义常量:
Const xlDelimited = 1
否则,你将不得不使用字面值如克里斯neilsen指出的。
另一个问题是你的方法调用中的第 11 个参数是错误的types。 该参数必须是一个布尔值,指示是否要使用不同的分隔符。 它是参数#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
有关详细信息,请参阅文档 。
VBScript没有命名常量。
使用
objExcel.WorkBooks.OpenText "path\xxxx.txt", , , 1, , , , , , True, " "