Я хочу заменить определенный текст в текстовом документе ms текстовым полем. Это текстовое поле должно содержать замененный текст. Текстовое поле должно появляться в той же позиции, что и замененный текст, и следующее содержимое должно обтекать текстовое поле.Word vba macro найти текст и получить его положение, чтобы заменить его текстовым полем
С помощью следующего кода я могу выполнить замену текста текстовым полем и замененным текстом в текстовом поле, но текстовое поле всегда находится на том же месте.
Теперь мне нужна возможность получить позицию найденного текста, чтобы использовать его для текстового поля, чтобы заменить найденный текст. :)
Мой фрагмент кода:
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
Возможно ли это, чтобы получить абсолютную левую и верхнюю позицию текста в документе слова? И если да, как я могу это сделать?