Mein Problem ist, dass ich eine Datei im Editor öffnen und dann im Editor speichern möchte, nicht manuell, sondern mit VBScript (der Grund, warum ich dies einige Codierungsprobleme überwinden will)). Bis jetzt habe ich eine relevante article gefunden, die mein Problem lösen sollte, aber es funktioniert nicht. Es hat diesen Code:Öffnen Sie eine Datei mit Editor und speichern Sie sie mit VBScript
Dim notepad, wndNotepad, strDesktop
Set notepad = Sys.Process("notepad")
Set wndNotepad = notepad.Window("Notepad")
' Open a file in Notepad
wndNotepad.MainMenu.Click("File|Open...")
notepad.Window("#32770", "Open").OpenFile "C:\Program Files\SmartBear\TestComplete 12\install.txt"
' Save the file to the desktop
strDesktop = WshShell.SpecialFolders("Desktop")
wndNotepad.MainMenu.Click "File|Save as..."
notepad.Window("#32770", "Save As").SaveFile strDesktop & "\install.txt"
Das Problem ist, dass Vbscript nicht das Sys in der zweiten Zeile erkennen kann (Sys.Process
). Ich nehme an, dass in dieser Zeile ein Prozess für Notepad erstellt werden soll (like here) und dann etwas wie ein Objekt dieses Prozesses an den Variablenblock zurückgegeben werden soll (etwas, das ich nicht weiß, ob und wie man es erreichen kann) in der dritten Zeile verwendet (notepad.Window("Notepad")
).
Wenn jemand irgendeine Idee hat, wie der Code sein sollte, um zu arbeiten, würde ich wirklich die Hilfe schätzen. Auch andere Vorschläge, wie dieses Problem zu lösen ist (oder Ideen, ob es tatsächlich gelöst werden kann) sind sehr willkommen. Vielen Dank für Ihre Zeit.
EDIT
Wie ich unten in den Kommentaren gesagt, muss der obige Code die Software Testcomplete was teuer ist. Wenn also jemand eine Idee hat, mein Problem auf andere Weise zu lösen (andere Software, anderer Code, andere Programmiersprache), würde ich mich freuen, es zu lernen.
ich einen Text-Stream verwenden würde. Setzen Sie die Charset-Eigenschaft auf das, was Ihre Datei ist, lesen Sie die Datei, ändern Sie den Zeichensatz und schreiben Sie sie zurück. https://msdn.microsoft.com/en-us/library/ms675032(v=vs.85).aspx –
Die kurze Antwort ist Sys.Process ist nicht In keiner der Windows nativen Bibliotheken benötigt es zusätzliche Bibliotheken. Möchte Google suchen, um herauszufinden, welche Bibliothek (DLL) diese Prozesse und Funktionen hat. –
Der von Ihnen gepostete Code ist kein gültiges VBScript. Außerdem, warum möchten Sie eine Textdatei in Notepad öffnen, nur um sie unter einem anderen Namen zu speichern? Kopieren Sie einfach die Datei. Zum Beheben von Kodierungsproblemen: Stellen Sie eine Frage, die die tatsächlichen Probleme beschreibt. –