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对象
展开
 我来答
cnbubble
2011-07-30 · TA获得超过2611个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:832万
展开全部
这里安装没有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
tanarri
2011-07-30 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8359万
展开全部
objWordP.Run "mymacro" 'mymacro是你宏的名字,就会执行该宏了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wys98116
2011-07-30 · 超过34用户采纳过TA的回答
知道答主
回答量:165
采纳率:0%
帮助的人:119万
展开全部
那就在VBA里写实现,然后在VB里调用VBA的实现方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式