是否可以搜索书签内的内容,如果存在,请执行某些操作。
例如,如果有一个带有名为Bookmark1的书签的word文档。 Bookmark1的封闭文本是通过突出显示文本"输入的文本在这里"创建的。我想创建一个宏来检查书签中的文本是否被更改,如果不是,则删除文本,书签,之前的分节符。
下面的代码执行此操作,除非它删除书签,即使文本不同,因为它正在查找书签的名称,而不是其内容。
If ActiveDocument.Bookmarks.Exists("Bookmark1") = True Then
ActiveDocument.Bookmarks("Bookmark1").Select
Selection.Delete
With Selection
.EndKey Unit:=wdStory
.TypeBackspace
.Delete
End With
End If
我真的希望If语句说出类似的话: 如果Bookmark1中的文字="输入的文字就在这里"然后做下面的所有事情,否则退出。
想点什么?
Word 2007。
答案 0 :(得分:0)
如果您的文档设置得如何,以下内容应该有效,否则您需要玩一下:
'TestTxt is the default text in the bookmark (assuming that you are not including the paragraph mark in the bookmark)
Dim TestTxt As String: TestTxt = "Enter text here"
'DMRng is the range of the the bookmark you are looking at
Dim BMRng As Range: Set BMRng = ThisDocument.Bookmarks("Bookmark1").Range
If BMRng.Text = TestTxt Then
'Start is the beginning of the bookmark - 1 (as the character before hand should be your section break?!)
BMRng.SetRange Start:=BMRng.Start - 1, End:=BMRng.End
BMRng.Delete
End If