如何通过VBA将MS Word中的单词替换为表

时间:2013-10-18 00:47:14

标签: vba ms-word word-vba

我已经使用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 

1 个答案:

答案 0 :(得分:0)

如果您进行更多面向对象的编程,而不是依赖“ActiveDocument”等,这将有所帮助。

首先定义代表Range的{​​{1}}对象。 Document.Content方法,如果返回Find.Execute,则会将此True对象重新定义为找到的单词。因此,您可以将其用作Range方法中的Range参数。

从评论更新我意识到您正在实例化Word,然后添加一个新的(空白)文档。正如预期的那样,Tables.Add在本文档中找不到任何内容。相反,我修改为专门从已知文件路径打开文档。

Find.Execute