Hallo liebe VBA-Freunde,
ich möchte gerne ein Makro aus Excel schreiben, dass verschiedene Word-Dokumente öffnet und Bookmarks setzt der verschiedenen Unterkapitel von der Ebene 2. Ich habe schon folgenden Code geschrieben und es sollte auch kurz vor dem Ende sein nur leider bekomme ich immer eine Fehlermeldung mit dem .Find . In Spalte B ab Zeile 6 steht der Name für die Bookmark in Spalte C ist der Pfad zu dem Dokument und in Spalte D steht der Name des Dokuments und in Spalte E steht der Name des Unterkapitels...
Über eure Hilfe würde ich mich sehr freuen :)
Hier ist der Code:
<pre>Sub BookmarkSetter()
Dim appWD As Object
Dim objXL As Object
Dim zeilenzahl As Integer
Dim Path As String
Dim j As Integer
Dim i As Integer
Dim aktRange As Range
Dim doc As Document
Dim textmarke As String
Dim suchen As String
zeilenzahl = 6
Do Until ActiveWorkbook.Worksheets("Tabelle1").Cells(zeilenzahl, 2).Value = ""
zeilenzahl = zeilenzahl + 1
Loop
zeilenzahl = zeilenzahl - 1
MsgBox zeilenzahl
'zeilenzahl - 13
For i = 1 To 3
suchen = ActiveWorkbook.Worksheets("Tabelle1").Cells(5 + i, 5).Value
textmarke = ActiveWorkbook.Worksheets("Tabelle1").Cells(5 + i, 2).Value
Set appWD = CreateObject("Word.Application") 'Word als Object starten
appWD.Visible = True
Path = Worksheets("Tabelle1").Range("C" & (5 + i)).Value & "\" & Worksheets("Tabelle1").Range(" _
D" & (5 + i)).Value
Set doc = appWD.Documents.Open(Path)
Dim rng As Range, rngÜ As Range
With doc.Range.Find
.Text = suchen
.Style = wdStyleHeading2
.Forward = True
.Execute
Do While .Found = True
doc.Range.Select
' Kapitel markieren und merken
Set rngÜ = Selection.Bookmarks("\HeadingLevel").Range
With ActiveDocument.Bookmarks
.Add Range:=rngÜ, name:=textmarke
.DefaultSorting = wdSortByName
.ShowHidden = True
End With
' nächstes Kapitel suchen
.Execute
Loop
End With
Next i
End Sub
|