我构建了一个 Excel/VBA 工具来验证 csv 文件,以确保它们包含的数据有效。它们的 csv 可以来自任何地方(来自完整的 UNIX 系统或从 Excel 保存数据的桌面用户)。 Excel 工具被发送给企业,以便他们可以在自己的环境中验证 csv 文件,而无需承担数据离开系统的风险。因此,解决方案需要采用本机 VBA,而不是链接到外部库。
因此,使用 VBA,我需要能够自动检测 UTF-8(带或不带 BOM)或 ANSI 文件编码,并警告用户如果这些不是用于 csv 的文件编码。
我认为这可能涉及从文件开头读取几个字节并根据字节顺序标记的存在确定编码。
你能帮助我让我走上正确的道路吗?
假设您可以自由地要求用户选择正确的文件类型,让他们对自己选择的文件类型负责;)
这意味着,您可以创建一个表单,用户可以在其中选择文件名和编码类型,就像我们在file open
wizard.
Else,
我建议你使用FileSystemObject
。它返回一个TextStream
可用于确定编码。我怀疑 VBA 支持其他类型的编码,如果支持,请纠正我:),很高兴听到。 :)
- 如何检测编码类型 http://www.vbaexpress.com/forum/showthread.php?t=25095
- msdn对象库模型 http://msdn.microsoft.com/en-us/library/314cz14s%28v=VS.85%29.aspx
以下是进一步考虑的链接:-
- 更改编码类型 http://www.tek-tips.com/viewthread.cfm?qid=1392917
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)