我已经使用create object打开了MS字,然后我必须搜索一个单词并用表替换它。我能够使用VBA构建一个表。 但是,我需要用表替换该单词(匹配),然后按照单元格填充表格。 这是我的代码: -
Dim MyApp As New Word.Application
Dim MyDoc As Word.Document
Set MyDoc = MyApp.Documents.Add
MyApp.Visible = True
MyDoc.Activate
With ActiveDocument.Content.Find
.Text = "blue"
.Forward = True
.Execute
If .Found = True Then .Parent.Bold = True
End With
MyApp.ActiveDocument.Tables.Add Range:=MyApp.Selection.Range, numrows:=5, numcolumns:=5
MyApp.ActiveDocument.Save
MyApp.Quit
答案 0 :(得分:0)
如果您进行更多面向对象的编程,而不是依赖“ActiveDocument”等,这将有所帮助。
首先定义代表Range
的{{1}}对象。 Document.Content
方法,如果返回Find.Execute
,则会将此True
对象重新定义为找到的单词。因此,您可以将其用作Range
方法中的Range
参数。
从评论更新我意识到您正在实例化Word,然后添加一个新的(空白)文档。正如预期的那样,Tables.Add
在本文档中找不到任何内容。相反,我修改为专门从已知文件路径打开文档。
Find.Execute