Aktives Mitglied
Hallo,
ich habe vor 25 Jahren einige hilfreiche Makros für meine tägliche Arbeit mit WORD geschrieben und damit auch sehr zufrieden gearbeitet. Nun taucht nach dem letzten Update bei einem Makro die Fehlermeldung "Dieser Befehl ist nicht verfügbar" (Laufzeitfehler 4605) auf. Ich kann mir das nicht erklären, denn ich habe ja an den Makros nichts verändert. Das Makro hängt sich an dieser Stelle auf:
Selection.PasteAndFormat (wdPasteDefault)
Zum Hintergrund:
Das Makro soll aus einem bestehenden Text bestimmte Zeilen "herausfiltern" und in eine neue Datei ausgeben. Das hat auch die letzten 25 Jahr tadellos funktioniert.
Sicherlich hat jemand eine Idee, woran es liegt, dass das Makro plötzlich nicht mehr funktioniert. Vielen Dank!
Herzliche Grüße
Hans-Jörg
________________________
Hier noch der gesamte Quellcode, der seit 25 Jahren besteht:
ich habe vor 25 Jahren einige hilfreiche Makros für meine tägliche Arbeit mit WORD geschrieben und damit auch sehr zufrieden gearbeitet. Nun taucht nach dem letzten Update bei einem Makro die Fehlermeldung "Dieser Befehl ist nicht verfügbar" (Laufzeitfehler 4605) auf. Ich kann mir das nicht erklären, denn ich habe ja an den Makros nichts verändert. Das Makro hängt sich an dieser Stelle auf:
Selection.PasteAndFormat (wdPasteDefault)
Zum Hintergrund:
Das Makro soll aus einem bestehenden Text bestimmte Zeilen "herausfiltern" und in eine neue Datei ausgeben. Das hat auch die letzten 25 Jahr tadellos funktioniert.
Sicherlich hat jemand eine Idee, woran es liegt, dass das Makro plötzlich nicht mehr funktioniert. Vielen Dank!
Herzliche Grüße
Hans-Jörg
________________________
Hier noch der gesamte Quellcode, der seit 25 Jahren besteht:
Code:
Dim Lied$()
Public Sub LiederlisteDrucken()
'
' LiederlisteDrucken Makro
' Stellt die Lieder eines Gottesdienstes zu einer Liste zusammen
'
Dim x As Integer
ReDim Lied$(20)
Selection.HomeKey Unit:=wdStory
x = 1
'
' LiedSuchen Makro
'
Selection.Find.ClearFormatting
Selection.Find.Style = ActiveDocument.Styles("Lied")
With Selection.Find
.Text = "Lied"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Do While .Execute(FindText:="", Forward:=True, Format:=True) = True
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Lied$(x) = Selection.Range
x = x + 1
Selection.MoveDown Unit:=wdLine, Count:=1
Loop
End With
'
'Name des Sonntags kopieren
'
With Selection
.HomeKey Unit:=wdStory
.EndKey Unit:=wdLine, Extend:=wdExtend
.Copy
End With
'
' Liederliste - Neues Dokument
'
Documents.Add DocumentType:=wdNewBlankDocument
Selection.PasteAndFormat (wdPasteDefault)
Selection.TypeParagraph
For y = 1 To x - 1
Selection.InsertAfter Text:=Lied$(y)
Next
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'
' Liederliste - Titel festlegen
'
With Selection.Find
.Text = "Liturgie"
.Replacement.Text = "Lieder"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveDown Unit:=wdLine, Count:=1
'
' Liederliste - Empfänger einfügen
'
With Selection
.TypeParagraph
.InsertSymbol Font:="Wingdings", CharacterNumber:=-3982, Unicode:=True
.TypeText Text:=vbTab & "Frau Christel Heimann"
.TypeParagraph
.InsertSymbol Font:="Wingdings", CharacterNumber:=-3982, Unicode:=True
.TypeText Text:=vbTab & "Herr Walter Klotz"
.TypeParagraph
.InsertSymbol Font:="Wingdings", CharacterNumber:=-3982, Unicode:=True
.TypeText Text:=vbTab & "Herr Ortwin Scharf"
End With
End Sub
Zuletzt bearbeitet von einem Moderator: