使用 excel vba 用书签替换信标
Replacing a beacon by a Bookmark in word using excel vba
我正在开发一个 excel 宏,我需要用书签替换我的 .docx 中的特定单词(信标),我在微软网站上找到了这个。
Sub BMark()
' Select some text in the active document prior
' to execution.
ActiveDocument.Bookmarks.Add _
Name:="tableauxvdd", Range:=Selection.Range
End Sub
但我不知道如何确定范围,我有想法 select 像这样的 smthg 的单词 :
With word_fichier.Application.Selection.Find
.Forward = True
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Wrap = wdFindContinue
.Execute FindText:="#tableauxvdd"
End With
但它需要一个范围而不是 select离子。
例如:
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
注意: 正如我在您的其他主题中所评论的那样,并且如上所示,对于您正在做的事情根本不需要使用 'Selection'。
我正在开发一个 excel 宏,我需要用书签替换我的 .docx 中的特定单词(信标),我在微软网站上找到了这个。
Sub BMark()
' Select some text in the active document prior
' to execution.
ActiveDocument.Bookmarks.Add _
Name:="tableauxvdd", Range:=Selection.Range
End Sub
但我不知道如何确定范围,我有想法 select 像这样的 smthg 的单词 :
With word_fichier.Application.Selection.Find
.Forward = True
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Wrap = wdFindContinue
.Execute FindText:="#tableauxvdd"
End With
但它需要一个范围而不是 select离子。
例如:
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
注意: 正如我在您的其他主题中所评论的那样,并且如上所示,对于您正在做的事情根本不需要使用 'Selection'。