保存为utf-8的vbs文件无法运行

时间:2012-01-06 09:35:47

标签: vbscript

我一直在记事本中写一个vbs脚本,它将文本添加到excel文件中,这很好。

然后我需要将unicode字符写入excel文件,因此将vbs文件保存为unicode并再次正常工作。

我正在尝试从另一个程序动态编写文件,这是可能的,但它将unicode vbs文件写为utf-8格式,然后当我尝试运行vbs文件时,它会出错 说错误:无效的字符 代码:800A0408 来源:microsoft VBScript编译错误

这是否意味着我无法运行保存为utf-8格式的文件,或者我错过了什么?

感谢任何帮助!

戴夫

2 个答案:

答案 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,则必须转换源文件。

也许您应该添加更多细节/代码,以提高获得更好建议的机会。