我一直在记事本中写一个vbs脚本,它将文本添加到excel文件中,这很好。
然后我需要将unicode字符写入excel文件,因此将vbs文件保存为unicode并再次正常工作。
我正在尝试从另一个程序动态编写文件,这是可能的,但它将unicode vbs文件写为utf-8格式,然后当我尝试运行vbs文件时,它会出错 说错误:无效的字符 代码:800A0408 来源:microsoft VBScript编译错误
这是否意味着我无法运行保存为utf-8格式的文件,或者我错过了什么?
感谢任何帮助!
戴夫
答案 0 :(得分:3)
使用UCS-2 Little Endian,接受unicode字符并正确运行VBS!您可以使用notepad ++将任何现有的VBS文件转换为此格式。
答案 1 :(得分:2)
C / WScript.exe无法运行UTF-8编码的.vbs文件。如果您无法更改该“另一个程序”的编码/写入模式,您必须将UTF-8源转换为UTF-16或以纯ASCII格式编写/生成代码并注入通过ChrW()resp的unicode 数据。 UTF-16(简单)或UTF-8(ADODB.Stream)编码的外部文件。
WRT评论:
只要你不在字符串文字中使用非ascii字符 - 你可以通过使用“..”来避免它们中的一些。 ChrW(..)& “..” - 您可以将.vbs保存为ascii。如果你的“另一个程序”加载并保存了UTF-8这样的文件(没有BOM!),那也没关系;但如果添加了BOM,则必须转换源文件。
也许您应该添加更多细节/代码,以提高获得更好建议的机会。