我不是告诉你了吗,只要修改WORD命令就可以了。 我再送几个例子,你再看一下,体会一下。 在WORD中,我们可以通过修改WORD命令的方法,来方便地为WORD控件指定用户自定义的过程,完成或者转移(禁用)相应的内置方式.它的原理是利用相应宏名来置换过程的方法.在下面的三个部分中,我们可以体会其中的相同点与不同点. '* +++++++++++++++++++++++++++++++++++++++ '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -------------------------------------------------------------------------- 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命令的一个例子(该例子放在自定义模板中) '* +++++++++++++++++++++++++++++++++++++++ '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -------------------------------------------------------------------------- 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
'----------------------
|