Liebe ExpertInnen,
ich ändere in einem Dokument per Bearbeiten > Ersetzen eine Formatvorlage und zeichne den Vorgang als Makro auf. Versuche ich, den Makro aufzurufen, passiert nichts, die Formatvorlagen im Dokument bleiben unverändert.
Den Makro habe ich nach dem Aufzeichnen noch parametrisiert, ansonsten ist er exakt so aufgezeichnet worden:
Sub Formatvorlage\_ersetzen(vorher As String, nachher As String)
Selection.Find.ClearFormatting
Selection.Find.Style = ActiveDocument.Styles(vorher)
Selection.Find.ParagraphFormat.Borders.Shadow = False
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles(nachher)
Selection.Find.Replacement.ParagraphFormat.Borders.Shadow = False
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Wer weiß was?
Gruß Ralf
Hallo Ralf,
Wer weiß was?
Ich eher wenig 
Auf den ertsn Blick vertshe ich einiges am Code nicht so ganz.
Mit
.Text = „“
.Replacement.Text = „“
ersetzt du Nichts durch Nichts!?
Was bringt das und wenn das so ist, braucht man sicher die ganzen Match-Dinger auch nicht.
Was steht denn in Vorher und nacher wenn du die Sub startest? Sind das in Word eingebaute Namen von Formatvorlagen oder eigene durch dich erstellte und benannte Formatvorlagen?
Auch wenn dein Code anscheinend derzeit kein Ergebnis, zeigt der nachstehende Code zumindest das gleiche Nichtergebnis?
Also könnte man ihn genausogut auch so schreiben und ggfs. paar Befehle rauswerfen um ihn übersichtlicher zu machen?
Option Explicit
'
Sub Formatvorlage\_ersetzen(vorher As String, nachher As String)
With Selection.Find
.ClearFormatting
.Style = ActiveDocument.Styles(vorher)
.ParagraphFormat.Borders.Shadow = False
.Replacement.ClearFormatting
.Replacement.Style = ActiveDocument.Styles(nachher)
.Replacement.ParagraphFormat.Borders.Shadow = False
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Sub
Gruß
Reinhard
Moin, Reinhard,
Auf den ertsn Blick vertshe ich einiges am Code nicht so ganz.
Mit
.Text = „“
.Replacement.Text = „“
ersetzt du Nichts durch Nichts!?
ich nicht, Word macht das so
Wenn ich mit der Maske Bearbeiten > Ersetzen arbeite, sieht das nicht anders aus - in den Feldern Suchen nach und Ersetzen durch scheint nichts zu stehen, Word ersetzt die Formatvorlagen dennoch.
Was steht denn in Vorher und nacher wenn du die Sub startest?
Die Namen der Formatvorlagen, eine heißt STANDARD, die andere ist von mir erstellt und in der Auswahlleiste verfügbar.
Auch wenn dein Code anscheinend derzeit kein Ergebnis, zeigt
der nachstehende Code zumindest das gleiche Nichtergebnis?
So isset.
Also könnte man ihn genausogut auch so schreiben und ggfs.
paar Befehle rauswerfen um ihn übersichtlicher zu machen?
Na ja - übersichtlicher… So lang da eine Zeile nach der anderen kommt, find ich das nicht so komplex, auch wenn ich nicht so recht weiß, wozu die Zeilen gut sind.
Die Parameter werden jedenfalls sauber übergeben, ich hab noch eine Msgbox dazwischengesetzt. Sie werden sogar richtig ausgewertet: Wenn ich eine nicht vorhandene Formatvorlage einsetze, kriege ich brav den Laufzeitfehler 5941, „Das angeforderte Element ist in der Sammlung nicht vorhanden“.
Gruß Ralf
Word Faq von Rene probst
Hallo Ralf,
Rene hatte mal eine Klasse Seite zu Word, auch mit Vba Besipielen, leider gibt es die Seite(n) nicht mehr 
Aber schau mal hier:
http://spotlight-wissen.de/lisp/pages/messages/amsw-…
und lade da die zip runter und den Entzipper. keine Ahnung warum da nicht normale Zipper Programme genommen wurden.
Zur Nor kann ich mal bei mir rumkramen, ich meine ich habe sie auch damals runtergeladen und zumindest versucht zu entzippen.
Ist auf jeden Fall eine wahre Fundgrube bei Word-Problemen.
Gruß
Reinhard
[MOD] - Tippfehler entfernt.
das web ist voll von Suchanzeigen nach Probstens WordFAQs. Im
archive gibt es sie noch:
http://web.archive.org/web/20070503124443/mypage.blu…,
aber leider nicht am Stück 
Sehr schade darum 
Hallo Ralf,
per Email gings irgendwie nicht, entweder war deinem yahoo oder meinem gmx da was zu groß.
Schau mal hier: http://www.badongo.com/file/10703729
und hier: http://www.badongo.com/file/10703668
Es ist nicht gesgt daß da eine lösung für dein problem ist, aber man sollte die pdfs haben *find*
Gruß
Reinhard