Nachdem Ihr mir vor einiger Zeit schon so toll geholfen habt, hoffe ich ein weiteres mal auf eure Hilfe...
Ich habe bei mir eine Ordnerstruktur, die ein Batch auflistet (mittels dem DIR-Befehl, mit Paramter /B) und das Ergebnis in die Datei "Filmeliste.rtf" schreibt.
Danach soll ein Word-Dokument (Filmeliste.doc) geöffnet werden, in dem ein hinterlegtes Makro die Datei "Filmeliste.rtf" in das Word-Dokument importiert und danach per Suchen/Ersetzen die Sonderzeichen durch ä, ö und ü ersetzt.
Klingt soweit ja gut. Nun aber das eigentliche Problem:
Wenn ich die Filmeliste.doc (also die mit dem Makro) per Hand öffne funktioniert alles einwandfrei.
Wenn ich dies nun aber per Batch machen will, kommt die Makro-Debugger-Meldung (Datei nicht gefunden) und Word liest gar nichts ein.
Wäre natürlich toll, wenn das alles automatisch funktionieren will. Also Batch starten, danach geht Word mit der fertigen Liste auf.
Zuerst habe ich gedacht, dass die Datei filmeliste.rtf noch nicht fertig geschrieben ist, wenn word diese versucht zu öffnen. Doch auch wenn ich ein Batch mache, in dem nur das Word-Dokument geöffnet werden soll, funktioniert das nicht...
Hat mir vielleicht jemand eine Lösung?
Batch-File:
@echo off F: dir /B > C:\Filmeliste.rtf C:\Filmeliste.doc
Statt "C:\Filmeliste.doc" habe ich auch schon "start winword.exe C:\Filmeliste.doc /mAutoOpen" versucht, das das Makro beim Start gleich mitöffnet (sollte es aber automatisch machen, da es AutoOpen heisst).
Das Makro:
Sub AutoOpen() ' ' AutoOpen Makro ' Makro aufgezeichnet am 17.06.2010 von Ivan Brunner ' Selection.InsertFile FileName:="Filmeliste.rtf", Range:="", _ ConfirmConversions:=False, Link:=False, Attachment:=False Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = ChrW(8221) .Replacement.Text = "ö" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = "" .Replacement.Text = "ü" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = ChrW(8222) .Replacement.Text = "ä" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Auszug filmeliste.rtf
Die Regeln der Gewalt Die Strassen Harlems Die wilden Kerle 3 Disaster Movie Disneys Eine Weihnachtsgeschichte District 9 Dog Soldiers Ebola Syndrom Edgar Wallace - Das Geheimnis der gelben Narzissen Edgar Wallace - Das Geheimnis der weissen Nonne Edgar Wallace - Das indische Tuch Edgar Wallace - Das Verr„tertor
Das verwirrende ist wirklich, das die Datei manuell gestartet funktioniert...
Danke im Voraus!
Ivan
Dieser Beitrag wurde von Ludix bearbeitet: 17. Juni 2010 - 23:02