如何在VBA中打开用错误字符编码编写的Excel文件
|
我使用文本编辑器阅读了Excel 2003文件,以了解一些标记语言。
当我在Excel中打开文件时,它显示不正确的字符。检查文件后,我看到编码是Windows 1252或类似的文件。如果我手动将其替换为UTF-8,我的文件将打开正常。好的,到目前为止,我可以手动纠正此问题。
现在的诀窍是,该文件是自动生成的,我需要使用桌面上的有限工具(无需perl或其他脚本语言)自动处理该文件(无需人工干预)。
有什么简单的方法可以在VBA中以正确的编码打开此XL文件(并忽略文件中指定的编码)?
请注意,Workbook.ReloadAs对我不起作用,它会在出现错误时提供帮助(并且由于文件已打开而需要手动操作)。
还是纠正文件经过一些麻烦的唯一方法?或者:输入文本,检查编码字符串行,如果需要,替换,将每一行写入新文件...;或导出到csv,然后使用特定编码再次从csv导入,另存为xls?
任何提示表示赞赏。
编辑:
ADODB对我不起作用(XL表示用户定义的类型,未定义)。
我通过一种解决方法解决了我的问题:
name2 = Replace(name, \".xls\", \".txt\")
Set wb = Workbooks.Open(name, True, True) \' open read-only
Set ws = wb.Worksheets(1)
ws.SaveAs FileName:=name2, FileFormat:=xlCSV
wb.Close False \' close workbook without saving changes
Set wb = Nothing \' free memory
Workbooks.OpenText FileName:=name2, _
Origin:=65001, _
DataType:=xlDelimited, _
Comma:=True
没有找到相关结果
已邀请:
1 个回复
陷牡彭拈峰
然后使用带有off编码的文件路径调用此子。