
VB 如何调用Word的宏代码
我用VB代码:IfobjWordPIsNothingThenOnErrorGoToExit1SetobjWordP=CreateObject("Word.Applicat...
我用VB代码:
If objWordP Is Nothing Then
On Error GoTo Exit1
Set objWordP = CreateObject("Word.Application") '创建 Word对象
objWordP.Visible = True '显现 Word 主窗口,后台调用Word完成批处理
Else
Set objWordP = GetObject(, "Word.Application ") '如果Word程序已经开启
End If
objWordP.DisplayAlerts = wdAlertsNone '禁止一切弹出交互,直接采用默认设置
Set objWordDoc = objWordP.Documents.Open("C:\test.doc") '打开指定的word文档
'以下为需要处理的自定义代码
'这里我要是假设要调用Word的全部自动替换的功能,该怎么实现呢?如果是在VBA里面,这里好实现,但在VB里面,好像直接套用VBA的代码,却不能,说对象不支持该属于或方法,怎么实现呢?
'处理结束,以下是保存,关闭文档并退出程序,销毁Word对象
If ChBackup.Value Then
objWordDoc.SaveAs ("c:\test_bak.doc") '处理完后另存为
Else
objWordDoc.Save '直接保存
End If
objWordP.Documents.Close '关闭打开文档,但不关闭Word程序
objWordP.DisplayAlerts = wdAlertsAll '恢复默认值
objWordP.Quit '关闭Word程序
Set objWordP = Nothing '销毁Word对象 展开
If objWordP Is Nothing Then
On Error GoTo Exit1
Set objWordP = CreateObject("Word.Application") '创建 Word对象
objWordP.Visible = True '显现 Word 主窗口,后台调用Word完成批处理
Else
Set objWordP = GetObject(, "Word.Application ") '如果Word程序已经开启
End If
objWordP.DisplayAlerts = wdAlertsNone '禁止一切弹出交互,直接采用默认设置
Set objWordDoc = objWordP.Documents.Open("C:\test.doc") '打开指定的word文档
'以下为需要处理的自定义代码
'这里我要是假设要调用Word的全部自动替换的功能,该怎么实现呢?如果是在VBA里面,这里好实现,但在VB里面,好像直接套用VBA的代码,却不能,说对象不支持该属于或方法,怎么实现呢?
'处理结束,以下是保存,关闭文档并退出程序,销毁Word对象
If ChBackup.Value Then
objWordDoc.SaveAs ("c:\test_bak.doc") '处理完后另存为
Else
objWordDoc.Save '直接保存
End If
objWordP.Documents.Close '关闭打开文档,但不关闭Word程序
objWordP.DisplayAlerts = wdAlertsAll '恢复默认值
objWordP.Quit '关闭Word程序
Set objWordP = Nothing '销毁Word对象 展开
3个回答
展开全部
这里安装没有VB ,不过你试一试下面的代码
Dim wdSel As Object
Set wdSel = objWordP.Selection
wdSel.Find.ClearFormatting
wdSel.Find.Replacement.ClearFormatting
With wdSel.Find
.Text = "aa" '要查找的内容
.Replacement.Text = "bb" '要替换的内容
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wdSel.Find.Execute , , , , , , , , , , wdReplaceAll
Dim wdSel As Object
Set wdSel = objWordP.Selection
wdSel.Find.ClearFormatting
wdSel.Find.Replacement.ClearFormatting
With wdSel.Find
.Text = "aa" '要查找的内容
.Replacement.Text = "bb" '要替换的内容
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wdSel.Find.Execute , , , , , , , , , , wdReplaceAll
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |