Hallo,
ich habe da ein kleines Problem und konnte bislang keine Lösung mit AutoIt erstellen.
Wir verwendeten zentral abgespeicherte Vorlagen-Dateien in Word. Jetzt hat sich der Pfad auf einen allgemein standardisierten Pfad geändert und jetzt müssen diese Pfade angepasst werden. Bei Microsoft habe ich ein VBA-Skript gefunden
http://web.archive.org/web/2005030406…t.com/kb/830561
und nach etwas herumprobieren auch ans Laufen gebracht (s. u.). Allerdings schön ist etwas anderes...
Sub Test()
Dim strFilePath As String
Dim strPath As String
Dim intCounter As Integer
Dim strFileName As String
Dim OldServer As String
Dim NewServer As String
Dim objDoc As Document
Dim objTemplate As Template
Dim dlgTemplate As Dialog
OldServer = "\\ServerA\VORLAGEN\WORD\MeineVorlagen.dot"
NewServer = "\\ServerB\VORLAGEN\WORD\MeineVorlagen.dot"
strFilePath = InputBox("What is the folder location that you want to use?")
If Right(strFilePath, 1) <> "\" Then strFilePath = strFilePath & "\"
strFileName = Dir(strFilePath & "*.doc")
Do While strFileName <> ""
Set objDoc = Documents.Open(strFilePath & strFileName)
Set objTemplate = objDoc.AttachedTemplate
Set dlgTemplate = Dialogs(wdDialogToolsTemplates)
strPath = dlgTemplate.Template
objDoc.AttachedTemplate = NewServer
strFileName = Dir()
objDoc.Save
objDoc.Close
Loop
Set objDoc = Nothing
Set objTemplate = Nothing
Set dlgTemplate = Nothing
End Sub
Alles anzeigen
Jetzt wollte ich das ganze aus Word-VBA herauslösen und mit AutoIt machen, damit ich es auch direkt auf dem Server starten kann. Außerdem um es etwas grafisch aufzupeppen...
Dies scheint jedoch nicht so einfach zu sein, zum Einen werde ich vermutlich doch die COM-Objekte von Word benötigen, zum Anderen habe ich keine Ahnung, wie ich die Funktion Dialogs(wdDialogToolsTemplates) in AutoIT realisiere...
Desweiteren konnte ich bislang nur den Namen der Vorlage auslesen, nicht jedoch den Pfad: "\\ServerA\VORLAGEN\WORD\MeineVorlagen.dot"...
#include <File.au3>
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\MeineWordDatei.doc")
$oDoc = _WordDocGetCollection ($oWordApp, 0)
MsgBox(0, "Template", _WordDocPropertyGet ($oDoc, "Template"))
Ich habe daraufhin nach VBS Alternativen gesucht, leider haben diese bei mir nicht funktioniert und das Debuggen ist etwas knifflig, wenn man sich nicht auskennt...:
http://forum.vb-paradise.de/programmieren/…lates-umziehen/
http://www.edugeek.net/forums/scripts…e-location.html
mfg
Axel