Wie kann ich den Inhalt einer Excel-Datei (in Spalte A) in einer Word-Datei nachschlagen und mit dem Inhalt der Spalte B einen Kommentar zu diesem Wort hinzufügen?

Wie kann ich den Inhalt einer Excel-Datei (in Spalte A) in einer Word-Datei nachschlagen und mit dem Inhalt der Spalte B einen Kommentar zu diesem Wort hinzufügen?

Zunächst möchte ich sagen, dass ich über Grundkenntnisse in VBA verfüge.

Ich versuche gerade, in Word ein Makro zu erstellen, dass ich mit einer geöffneten Excel-Datei verknüpfen und in der geöffneten Word-Datei nach einem Wort aus Spalte A suchen möchte. Anschließend möchte ich, dass das Makro in Word einen Kommentar zu diesem Wort setzt und den Inhalt der Spalte B der Excel-Datei einfügt.

Ich habe versucht, verschiedene Codezeilen aus unterschiedlichen Quellen miteinander zu kombinieren, aber es scheint nicht zu funktionieren.

Gibt es hier jemanden, der weiß, wie das geht?

Vielen Dank im Voraus!

Ich habe den folgenden Code zum Hinzufügen des Kommentars (der jedoch nicht mit der Excel-Datei verknüpft ist);

Selection.Find.ClearFormatting

Dim range As range
Set range = ActiveDocument.Content

Do While range.Find.Execute("XXXXXX") = True
ActiveDocument.Comments.Add range, "YYYYYY"
Loop

und der folgende Codeabschnitt, der den Inhalt der Spalte A findet und ihn derzeit durch den Inhalt der Spalte B ersetzt.

Dim ws As Activesheet, msWord As Object, itm As range

Set ws = Activesheet
Set msWord = ActiveDocument.Content

With msWord ' cant figure out how to change this so it uses the currently open Word file.
    .Visible = True
    .Documents.Open "F:\Test folder\TestFolder\Test.docx"
    .Activate

    With .ActiveDocument.Content.Find
        .ClearFormatting
        .Replacement.ClearFormatting

        For Each itm In ws.UsedRange.Columns("A").Cells

            .Text = itm.Value2                          'Find all strings in col A

            .Replacement.Text = itm.Offset(, 1).Value2  'Replacements from col B

            .MatchCase = False
            .MatchWholeWord = False

            .Execute Replace:=2     'I guess this should be replaced with the code that places the text YYYYYY as a comment on the text XXXXXX?
        Next
    End With
    .Quit SaveChanges:=True
End With

verwandte Informationen