大家好,
我需要通过Excel VBA在MS Word文档中找到一个特定的字符串(格式为标题1),然后在该位置设置书签。一旦我得到了搜索字符串的范围,后一部分应该就不是问题了。
然而,我似乎不知道如何使用Excel VBA在Word中搜索字符串。
我试了以下(缩短):
Option Explicit
Sub exportWord(button As IRibbonControl)
Application.ScreenUpdating = False
Dim wrdDoc As Word.document
Dim wrdApp As Word.Application
Dim wrdLoc As String
wrdLoc = ThisWorkbook.Worksheets("Konfiguration").Range("changelogPath")
Set wrdApp = New Word.Application
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open(wrdLoc)
Dim wrdRange As Word.Range
Dim searchString As String
Set wrdRange = wrdDoc.Range
searchString = "Test"
With wrdRange.Find
.Text = searchString
.Replacement.Text = "Replacement Test"
.wrap = wdFindContinue
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Highlight = False
.Execute Replace:=wdReplaceAll
End With
End Sub
这实际上不会做任何事情,但我只是想检查的发现工作。但它没有,Excel只是崩溃没有任何VBA错误或任何东西。只是说一些"程序没有响应,应用程序遇到了问题,将被关闭"的行
有没有人知道为什么Excel会崩溃没有任何适当的错误信息?或者如何在Word文档中正确地实现搜索?
最诚挚的问候,
daZza
尝试了一些不同的方法,并使用:
For Each rngStory In wrdDoc.StoryRanges
With rngStory.Find
.Replacement.ClearFormatting
.Text = "Änderungen in Test12345"
.Replacement.Text = "test"
.wrap = wdFindContinue
.ExecuteReplace:=wdReplaceAll
End With
Next