【问题标题】:Delimitate txt file in Excel 2003 using VBScript: errors使用 VBScript 在 Excel 2003 中分隔 txt 文件:错误
【发布时间】:2013-08-27 11:06:11
【问题描述】:

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

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

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

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

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

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

感谢您的帮助。

【问题讨论】:

    标签: excel vbscript


    【解决方案1】:

    VBScript 没有命名常量。

    使用

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

    【讨论】:

    • 抱歉,这不起作用。也许我错过了其他东西?
    【解决方案2】:

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

    Const xlDelimited = 1
    

    否则您将不得不使用chris neilsen 指出的字面值。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 2013-08-18
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      相关资源
      最近更新 更多