2012-01-06 88 views
0

我一直在写在记事本一个VBS脚本,将文本添加到一个Excel文件,这是工作的罚款。VBS文件保存为UTF-8不运行

然后我需要的Unicode字符写入Excel文件,所以保存VBS文件为Unicode和再次一切工作的罚款。

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

这是否意味着我不能运行保存为UTF-8格式的文件,还是我失去了一些东西?

任何帮助将受到欢迎!

戴夫

回答

2

C/WScript.exe的不能运行UTF-8编码的.vbs文件。如果不能改变“另一方案”的编码/写模式,则要么必须的UTF-8源转换为UTF-16或写/生成在纯ASCII的和注入的unicode 数据通过ChrW()分别。一个UTF-16(简单)或UTF-8(ADODB.Stream)编码的外部文件。

WRT评论:

只要你不要在字符串中使用非ASCII字符 - 你能避免少数人通过使用“..” & CHRW(..)& “..” - 您可以将.vbs保存为ascii。如果你的'另一个程序'加载和保存UTF-8这样的文件(没有BOM!),这并不重要;但如果它添加了BOM,则必须转换源文件。

也许你应该多增加一些细节/代码以提高你获得更好的建议的机会。

+0

感谢您的回复,这不幸是我的想法。我想要做的是打开数据库连接,读取一些Unicode字符并将它们写入excel。你是说vbs文件可以保存为ansi,这仍然有效吗? – Dave 2012-01-06 10:08:40

3

使用UCS-2小端,接受unicode字符和运行VBS正确!例如,您可以使用记事本++将任何现有的VBS文件转换为此格式。