Извлечение текста ANSI в другой файл - PullRequest
0 голосов
/ 07 апреля 2019

Я скопировал код, и я не знаю, как он работает, но я протестировал его как макрос.

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

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Чтобы ответить на ваши вопросы:

  1. Как изменить каталог в примере на %tmp%?

Вы можете сделать это, используя .ExpandEnvironmentStrings наобъект Shell, например:

Set wShell = CreateObject("WScript.Shell")
sTempPath = wShell.ExpandEnvironmentStrings("%TMP%")
Как добавить код ANSI?

Вы должны исправить способ добавления кавычки " внутри строки, продублировав ее следующим образом: "":

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, проверьте этот ответ .

Надеюсь, это поможет.

0 голосов
/ 07 апреля 2019

Windows будет наследовать среду от процесса, который вызывает функцию, поэтому файл создается в C: \ Users \ myuser \ Documents.Чтобы изменить каталог, вы можете указать полный путь для CreateTextFile (), например (CreateTextFile ("C: \ d \ a \ a.txt")), это создаст файл в указанном вами месте.По второму вопросу вы спрашиваете, как печатать ", и", верно? Есть два способа, один из которых - использование "over", когда вы используете "ваш контент", ваш контент не оценивается, так что специальная инструкция\ n будет выводиться как есть, но это не полностью отвечает вашим потребностям, так как ваш контент может содержать '.Вместо этого вы можете использовать «\», это означает, что для специальных символов оставьте его в покое, поэтому «asdf \ 'asdadf» выведет «asdf' asdadf».По этой же причине я помещаю «\» в CreateTextFile (), чтобы он выводился «C: \ d \ a».Надеюсь, это поможет

...