我复制了代码,我不知道它是如何工作的,但我测试它是一个宏。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileTxt = objFSO.CreateTextFile("filename.txt", True, False)
ObjFileTxt.Write "ok"
Set objFSO = Nothing
1.如何将示例中的目录更改为%tmp%? (默认为C:\ Users \ myuser \ Documents)
2.如何添加ANSI代码?即(MZ ˙˙
)
ObjFileTxt.Write "ĂäD»N§űGç„ 06߲ŕ7‰Vű"0ťÂ‹1'Ç U¶¤CÜf×qjćĽ"
ansi有一个代码,其中包含“和'如何在其中写入ObjFileTxt.Write
我希望ansi代码保存在filename.txt中
回答你的问题:
%tmp%
?您可以在Shell对象上使用
.ExpandEnvironmentStrings
来完成此操作,如下所示:
Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
你必须纠正你在字符串中添加引用
"
的方式,通过复制它,就像这个""
:
ObjFileTxt.Write "AäD»N§uGç„ 06ß?r7‰Vu""0t‹1'Ç U¶¤CÜf×qjcL"
您的代码将如下所示:
Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileTxt = objFSO.CreateTextFile(sTempPath & "\filename.txt", True, False)
ObjFileTxt.Write "AäD»N§uGç„ 06ß?r7‰Vu""0t‹1'Ç U¶¤CÜf×qjcL"
Set objFSO = Nothing
如果您想在ANSI中转换文件,请查看此answer。
希望这可以帮助。
Windows将从调用该函数的进程继承环境,这就是在C:\ Users \ myuser \ Documents中创建文件的原因。要更改目录,可以指定CreateTextFile()的完整路径,例如(CreateTextFile(“C:\ d \ a \ a.txt”)),这将在您指定的位置创建一个文件。对于你的第二个问题,你的问题是如何打印“,和”,对吧?有两种方式,一种是使用'over',当你使用'你的内容'时,你的内容没有被评估,所以特别说明\ n将按原样输出,但这并未完全满足您的需求,因为您的内容可能包含'。您可以使用“\”代替,这意味着不要为特殊字符单独使用,所以“asdf \'asdadf”将输出“asdf'asdadf”。这也是我在CreateTextFile()中加上“\”以便输出“C:\ d \ a”的原因。希望这可以帮助