修改 WORD 命令,FILEPRINT,可用于统计打印机或者通过该模板打印了多少纸张 Sub FilePrint() Dim MyDialog As Dialog, Ps() As String, Pl() As String, PPcount As Integer, PrintSel As String Dim S As Integer, N As Integer, H As Integer, Upper As Integer, Lower As Integer, Cop As Integer Set MyDialog = Application.Dialogs(wdDialogFilePrint) '定义打印对话框 With MyDialog If .Show = -1 Then '按下确定按钮 Cop = .NumCopies '返回打印份数 Select Case .Range '打印区域 Case 0 PrintSel = "您选择了打印所有页" '取得文档总页数 PPcount = ActiveDocument.Content.Information(wdNumberOfPagesInDocument) Case 2 '相当于打印光标所在页 PPcount = 1 PrintSel = " 您选择了打印当前第 " & Selection.Information(wdActiveEndPageNumber) & "页" Case 4 '选择从第几页到第几页如"1-3,5,9,10-15" PrintSel = "您选择了打印指定页:" & .Pages '数组 Ps = Split(.Pages, ",") Upper = UBound(Ps) '上标 Lower = LBound(Ps) '下标 For i = Lower To Upper N = N + 1 '如果该数组中的某个值中提取有"-"的话 If InStr(Ps(i), "-") > 0 Then Pl = Split(Ps(i), "-") S = Pl(1) * 1 - Pl(0) * 1 '直接取得上标和下标数值之差 H = S + H End If Next PPcount = N + H '打印的页数等于单页和连页数之和 End Select MsgBox PrintSel & ",打印份数为:" & Cop & ",打印的页数为:" & PPcount & "张," & vbCrLf _ & "实际上产生了" & Cop * PPcount & "张纸.", vbInformation End If End With End Sub