Я разрабатываю макрос Excel, и мне нужно заменить определенное слово (маяк) в моем .docx закладкой, я нашел это на сайте Microsoft.
Sub BMark()
' Select some text in the active document prior
' to execution.
ActiveDocument.Bookmarks.Add _
Name: = "tableauxvdd", Range:=Selection.Range
End Sub
Но я не знаю, как исправить диапазон, у меня есть идея выбрать слово с чем-то вроде этого:
With word_fichier.Application.Selection.Find
.Forward = True
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Wrap = wdFindContinue
.Execute FindText: = "#tableauxvdd"
End With
Но для этого нужен диапазон, а не выбор.





Например:
With word_fichier.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#tableauxvdd"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
.Execute
End With
If .Find.Found = True Then .Bookmarks.Add Name: = "tableauxvdd", Range:=.Duplicate
End With
Примечание: Как я прокомментировал в другой вашей теме и как показано выше, нет необходимости использовать «Выбор» для того, что вы делаете.
я не думал об этом, я попробую это позже, спасибо
это работает как шарм, большое спасибо! но я не понимаю строку Range = .Duplicate
Так что ищите .Duplicate!
Посмотрите на код, который вы разместили на сайте MS:
Range:=Выбор.Диапазон