我试图在我的文档中找到一些只出现在“标题1”样式中的文本。到目前为止,没有用。
示例代码:
With ThisDocument.Range.Find
.Text = "The Heading"
.Style = "Heading 1" 'Does not work
.Execute
If .Found Then Debug.Print "Found"
End With
只需注意,它会一直停在目录。
编辑:修复了错误的'if'语句
答案 0 :(得分:3)
您的代码对我来说很好。我最好的猜测是你的目录中存在'标题1'样式?
下面的代码应该继续查找,查找所有事件:
Dim blnFound As Boolean
With ThisDocument.Range.Find
.Text = "The Heading"
.Style = "Heading 1"
Do
blnFound = .Execute
If blnFound Then
Debug.Print "Found"
Else
Exit Do
End If
Loop
End With
我希望这会有所帮助。
答案 1 :(得分:1)
我在Google上发现了这个问题,问题中的代码对我不起作用。我做了以下修改来修复它:
Selection.Find.Style = "Heading 1"
更改为对象。.Execute
而非.Found
我希望这有助于其他一些Google员工。
With ThisDocument.Range.Find
.Text = "The Heading"
.Style = ActiveDocument.Styles("Heading 1")
Dim SearchSuccessful As Boolean
SearchSuccessful = .Execute
If SearchSuccessful Then
' code
Else
' code
End If
End With
答案 2 :(得分:1)
我认为它不起作用的原因是因为你必须设置
.format = true
标记,可能必须通过.Styles方法指定样式:
With ThisDocument.Range.Find
.Text = "The Heading"
.Format = true <<< -------- Tells Word to look for a special formatting
.Style = ThisDocument.Styles("Heading 1")
Do
blnFound = .Execute
If blnFound Then
Debug.Print "Found"
Else
Exit Do
End If
Loop
End With