六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

能够修改Word命令的VBA代码

Admin | 2011-9-26 8:26:07 | ReadNums | 4535 | 标签 香港最快开奖结果2018 | 打印本页
     

  在WORD中,我们可以通过修改WORD命令的方法,来方便地为WORD控件指定用户自定义的过程,完成或者转移(禁用)相应的内置方式.它的原理是利用相应宏名来置换过程的方法.在下面的三个部分中,我们可以体会其中的相同点与不同点。

Sub Example()
    Dim i As CommandBarControl
    For Each i In Application.CommandBars.FindControls
        If i.ID = 4 Then
            i.OnAction = "MySub"       ’指定宏名
        End If
    Next
End Sub
 
Sub ResetSub()
    Dim i As CommandBarControl
    For Each i In Application.CommandBars.FindControls
        If i.ID = 4 Then ‘ID=4    ‘相当于CTRL+P(文件/打印)
            i.OnAction = ""      ’恢复原有ID功能
        End If
    Next
End Sub
 
Private Sub Document_Close()
    ResetSub       ’关闭文档后恢复
End Sub
 
Private Sub Document_Open()
    Example ‘修改
End Sub
 
以上为第一部分,以下为第二部分:
Sub FilePrint()
    MySub
End Sub
 
Sub MySub()
    MsgBox "不能使用打印功能!"
End Sub
该过程为公用部分
简析:在EXCEL中,我们只能通过FindControls(ID)的方法为原有程序修改命令指定宏过程;在WORD中,我们也可能通过该方法进行;但如果我们采取第二部分的话,更为简单,这就是所谓的修改WORD命令.当然一个名为MySub的过程可以省略,直接写在FilePrint宏中。以下为实用修改WORD命令的一个例子(该例子放在自定义模板中)
Sub FilePrint()’修改WORD命令(文件/打印:CTRL+P)
    Dim Pc As Integer, Var As Integer
    With Application.Dialogs(wdDialogFilePrint)
        If .Show = -1 Then
            Pc = .NumCopies    ‘取得打印份数
            Var = Me.Variables("PrintPageCount").Value    ‘延续以前的打印份数
            Me.Variables("PrintPageCount").Value = Pc + Var    ‘至今共打印的张数
            Me.Save    ‘保存
            MsgBox "目前累计打印份数为" & Me.Variables("PrintPageCount").Value
        End If
    End With
End Sub
 
Sub FilePrintDefault’修改WORD命令(常用工具栏/打印活动文档)
    ActiveDocument.PrintOut    ‘默认打印
    Me.Variables("PrintPageCount").Value = _
      Me.Variables("PrintPageCount").Value + 1
    Me.Save    ‘保存
    MsgBox "目前累计打印份数为" & Me.Variables("PrintPageCount").Value
End Sub
 
Private Sub Document_Open()
    On Error Resume Next
    Me.Variables.Add Name:="PrintPageCount"    ‘预定一个文档变量
End Sub
 
  如果快速得到WORD中对应命令的命令名称,有多种方法,一是使宏对话框中的WORD命令,我们可以知道所有WORD命令,还可以使用宏对话框中的”ListCommands”命令,将所有WORD命令自动列表;还可以使用自定义/命令/所有命令中获得;也可以通过插入域/MacroButton域中的宏名列表中获得;最方便的是使用CTRL+ALT+数字小键盘上的”+”号,当光标变成”中国结”时,点向所需按钮命令,即出现一个自定义对话框,在这个对话框中所显示的命令,就是你要的命令名称。


问题未解决:在线咨询

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日