【问题标题】:Excel 2011 (Mac) vba: text encoding fails when importing text files as QueryTablesExcel 2011 (Mac) vba:将文本文件导入为 QueryTables 时文本编码失败
【发布时间】:2011-11-26 18:33:17
【问题描述】:

我需要将文本文件导入 Excel 工作表。文本文件来自 Mac 和 PC,包含各种语言的字符。对于 Excel 2004 (PC),我已成功使用如下 vba 代码将 Mac 编码的文本转换为 PC 编码:

Worksheets("A").Cells.Clear
pth = Application.GetOpenFilename()
With Worksheets("A").QueryTables.Add(Connection:="TEXT;" & pth, _
 Destination:=Worksheets("A").Range("A1"))
    .TextFilePlatform = 10000
    .TextFileColumnDataTypes = Array(xlTextFormat)
    .Refresh
End With
Worksheets("A").QueryTables(1).Delete

我正在尝试使用 Excel 2011 的类似代码将编码从 PC 转换为 Mac,使用

.TextFilePlatform = xlWindows '=2

按照运行宏记录器的建议。手动进行导入工作完美,将编码从 PC 更改为 Mac,但在 Excel 2011 中运行的 vba 程序根本不会更改编码。 TextFilePlatform 参数可以(在我的 Excel 2011 版本中;不同的语言版本在这里可能不同)设置为 1、2 或 3(从 -1000000 到 1000000 的任何其他整数都会给出错误 5),并且生成的文本看起来与这三种情况相同。是否有其他设置可以推翻我转换文本编码的尝试?任何建议都非常感谢!

编辑:我已经确认带有 .TextFilePlatform = xlWindows 的代码可以正确地将 Windows 编码文本转换为 Excel 10 (2001) 和 Excel 11 (2004) 的 mac 编码,这与上述 Excel 2011 的情况相反。

【问题讨论】:

    标签: vba excel-2011


    【解决方案1】:

    在 mac 上无法实现,唯一的解决方案是使用 windows 运行脚本并将文件返回给 mac

    【讨论】:

      【解决方案2】:

      这是一个不错的在线解决方案Zoho Sheet VBA

      是的,它适用于您的 Microsoft Excel VBA。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-20
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多