Ich habe eine VBScript-App geschrieben, um Word- und Excel-Dokumente zu öffnen und Textblöcke und verschiedene Abschnitte zu suchen und zu ersetzen, wobei der neue Text aus einer einfachen Textdatei extrahiert wird. Ich habe absichtlich jede Fehlerprüfung vermieden, vor allem, weil ich es zu der Zeit nicht herausfinden konnte (und das Skript lief trotzdem zuverlässig). Jetzt, Monate später, auf meinem lokalen Rechner, erhalte ich unerklärlicherweise Fehlermeldungen über Normal.dot, das geändert wird, und ein Meldungsfeld, in dem ich gefragt werde, was ich dagegen tun möchte (was drei weitere Dialoge erfordert, um endlich zu antworten). Natürlich tötet dies meine Fähigkeit, das Skript auszuführen und einfach wegzugehen, da es das Skript zum Scheitern bringt. Wenn das passiert, muss ich den Task-Manager öffnen, Winword.exe finden (von dem die GUI nicht ausgeführt wird) und es beenden und dann mein Skript erneut ausführen.Wie schließe ich Word (oder andere App), wenn ein Fehler in einem VBScript auftritt?
Was ist eine sinnvolle Möglichkeit, den Fehler abzufangen und Word (oder Excel) erfolgreich herunterzufahren. Auf der Grundlage dieser question versuche ich dies:
Set objDoc = objWord.Documents.Open(curDir1 + "\docs\template_spec.dot")
If Err.Number <> 0 Then
WScript.Echo "Error in Word Open:" & Err.Description
objWord.Quit
Else
Set objSelection = objWord.Selection
'Do replacement activities'
ReplaceText(objSelection)
objDoc.SaveAs(curDir1 + "\docs\mynewdocument.doc")
objWord.Quit
End If
Set objShell = Nothing
Set objWord = Nothing
Set objExcel = Nothing
Natürlich, wie das Schicksal es wollte, ich das Problem nicht replizieren kann, so funktioniert es wie normal. Scheint diese Lösung vernünftig? Und eine Nebenfrage: Wie zum Teufel bringe ich Word dazu, aufzuhören, sich über Normal.dot zu beschweren (oder das Skript dazu zu bringen)? Es ist, als ob sich Word im Hintergrund offen lässt, nachdem ich in einigen Fällen die GUI geschlossen habe.
ist dies eine Standardmethode, um dies zu tun, ich habe ein längliches Skript, das von einem Excel-Arbeitsmappe funktioniert. Jeder Fehler im Skript, der es ausbombiert und das Arbeitsbuch offen lässt. Können Sie Fehlerdaten mehrfach verschachtelt haben? – DevilWAH
habe diesen Link tatsächlich angeschaut Ich tyhink ich bekomme es jetzt :) Prost – DevilWAH