(实现全部替换的功能)怎么将word的宏 转成VB里直接使用 或者VB调用宏 循环修改一些变量并执行

u011010571 2016-04-14 06:27:01
word的宏代码如下
Sub 替换()
'
' 替换 Macro
' 宏在 2016-04-14 由 Microsoft 录制
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "名称" //要替换的目标
.Replacement.Text = "9999999" //替换的内容
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

VB其中一段代码如下
On Error Resume Next

If CommonDialog1.FileName = "" Then
CommonDialog1.DialogTitle = "文件保存"
CommonDialog1.Filter = "Microsoft Word(*.doc)|*.doc|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
If Err.Number = 32755 Then Exit Sub
Else
panduan = MsgBox("是否保存为当前路径", vbYesNoCancel, "提示")
If panduan = vbNo Then
CommonDialog1.FileName = Left$(CommonDialog1.FileName, InStr(CommonDialog1.FileName, ".") - 1) & "封面.doc"
CommonDialog1.DialogTitle = "文件保存"
CommonDialog1.Filter = "Microsoft Word(*.doc)|*.doc|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
If Err.Number = 32755 Then Exit Sub
ElseIf panduan = vbCancel Then
Exit Sub
End If
End If

Dim MyWord As Word.Application
Dim MyWordBook As Word.Document
Set MyWord = CreateObject("Word.Application")
Set MyWordBook = MyWord.Documents.Add(App.Path & "\数据" & "\封面.doc")
MyWord.Visible = True
MyWordBook.Save
MyWord.Quit
Set MyWord = Nothing
Set MyWordBook = Nothing



MsgBox "保存成功", vbOKOnly, "提示"



想要的效果就是像在word中全部替换那样的功能

谢谢 求助各位大神帮忙
...全文
1021 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011010571 2016-04-18
  • 打赏
  • 举报
回复
谢谢各位的帮助 这个问题我已经解决了
of123 2016-04-15
  • 打赏
  • 举报
回复
用 VB 调用 Word 中的宏应该更省事一些。 我手头只有调用 Excel 宏的示例代码:
      Option Explicit

      Private Sub Command1_Click()
       Dim oExcelApp As Object

       ' Create a reference to the currently running excel application
       Set oExcelApp = GetObject(, "Excel.application")
       ' Make the Excel Application Visible.
       oExcelApp.Visible = True
       ' Run the excel procedure
       oExcelApp.run "proc", "David", 30
      End Sub
示例宏代码是
Sub Proc(sParam1 As String, iParam2 As Integer)
        MsgBox sParam1 & " is " & iParam2 & " Years Old"
End Sub
vansoft 2016-04-15
  • 打赏
  • 举报
回复
需要Word.Application对象。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧