| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2382 人关注过本帖
标题:怎么将word的宏 转成VB里直接使用 或者VB调用宏 循环修改一些变量并执 ...
只看楼主 加入收藏
qq11223456
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2014-10-20
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
怎么将word的宏 转成VB里直接使用 或者VB调用宏 循环修改一些变量并执行
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中全部替换那样的功能

谢谢   求助各位大神帮忙
搜索更多相关主题的帖子: Microsoft False 
2016-04-14 18:27
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:10 
VB调用Word,首先要建立Word的对象。然后才能进行操作,你录的宏代码大部分可以用,但是有些地方需要修改
http://chenlong-1988.
2016-04-14 21:26
qq11223456
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2014-10-20
收藏
得分:0 
回复 2楼 xiangyue0510
非常感谢  这个解决了我一个大难题

不知道是不是还可以请问一个问题   就是我的word里有很多个表   我怎么定位其中一个  
那个表在第14个表   用数字定位我会了   有没有别的办法
预防之后word修改会影响到表格数量    每个表上面都有一个标题   可否根据这个进行判断然后定位
2016-04-18 10:38
快速回复:怎么将word的宏 转成VB里直接使用 或者VB调用宏 循环修改一些变量 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047015 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved