Ich zielen darauf ab, einen bestimmten Text in einem MS-Word-Dokument durch ein Textfeld zu ersetzen. Dieses Textfeld muss den ersetzten Text enthalten. Das Textfeld sollte an der gleichen Position wie der ersetzte Text erscheinen und der folgende Inhalt muss das Textfeld umschließen.Word VBA Makro Text finden und seine Position bekommen, um es durch ein Textfeld zu ersetzen
Mit dem folgenden Code kann ich die Ersetzung des Textes durch ein Textfeld und mit dem ersetzten Text im Textfeld erreichen, aber das Textfeld ist immer an der gleichen Stelle.
Was ich jetzt brauche, ist die Möglichkeit, die Position eines gefundenen Textes zu erhalten, um es für das Textfeld zu verwenden, um den gefundenen Text zu ersetzen. :)
Mein Code-Schnipsel:
positionLeft = 50 /* here I need the left position of the found text */
positionTop = 50 /* and here the top position */
With ActiveDocument.Range.find
.Forward = True
.Wrap = wdFindStop
.Text = TextToReplace
.Execute
If .Found = True Then
Dim Box As Shape
Set Box = ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, positionToLeft, positionToRight, 100, 100)
Box.TextFrame.textRange.Text = TextToReplace
.Parent = ""
End If
End With
Ist es sogar möglich, die absolute linke und obere Position eines Textes im Word-Dokument zu bekommen? Und wenn ja, wie kann ich das schaffen?