分享

EXCEL奇偶数打印的代码

 你喜欢那个 2012-05-08

可以通过“宏”来实现奇偶打印,
在EXCEL中新建一个宏,取名为"printpage",点击“创建”,代码如下:
Dim StrTS As String, StrPage As String, StrPage1 As String, i As Integer
Dim Pages As Long, PrintFlag As Integer, Cho As Integer
Dim Aa As Integer, Bb As String, Cc As String, myPrompt1 As String
myPrompt1 = "在打印时发生错误,请检查你的打印机设置"
Pages = ExecuteExcel4Macro("Get.Document(50)")       '统计总页数
StrTS = "请输入需要打印的起始页及结束页,然后点击确定" + Chr(13) + Chr(10) + "您输入的起始页将决定奇偶页" + Chr(13) + Chr(10) + "例如:1-31"
StrPage1 = "1-" & Pages
PrintFlag = 1
On Error Resume Next
Do While PrintFlag = 1
   StrPage = InputBox$(StrTS, "输入页码范围[奇偶页打印]", StrPage1)
   If Trim$(StrPage) <> "" Then
      '判断输入页码的合法性
      Aa = InStr(StrPage, "-")
      If Aa = 0 Or Aa = 1 Or Aa = Len(Trim(StrPage)) Then
         MsgBox "对不起,输入的页码有误"
         Exit Sub
      Else
         Bb = Val(Left$(StrPage, Aa - 1))
         Cc = Val(Right$(StrPage, Len(Trim(StrPage)) - Aa))
         If IsNumeric(Bb) And IsNumeric(Cc) Then
            If Bb > Cc Then
               MsgBox "对不起,您输入的起始页大于结束页,打印取消!"
               Exit Sub
            End If
            If Cc > Pages Then Cc = Pages
            If (Pages = 0) Then '如果为零,说明没有可打印内容,退出程序
                MsgBox "Microsoft Excel 未发现任何可以打印的内容", 0 + 48
                Exit Sub
            End If
            If (Pages = 1) Then    '判断是否只有一页,如果是,只打印第一页,然后退出
                ActiveSheet.PrintOut
                If Err.Number = 1004 Then
                    MsgBox myPrompt1, 0 + 48 '提示用户发生打印错误
                End If
                Exit Sub
            End If
            For i = Int(Bb) To Int(Cc) Step 2                '设置循环,打印奇数页或偶数页
                ActiveSheet.PrintOut From:=i, To:=i
                If Err.Number = 1004 Then
                   MsgBox myPrompt1, 0 + 48
                   Exit Sub
                End If
            Next i
            Cho = MsgBox("是否续继打印?", vbYesNo + vbQuestion + vbDefaultButton1, "提示")
            If Cho = vbYes Then
               PrintFlag = 1
            Else
               PrintFlag = 0
            End If
         Else
            MsgBox "对不起,输入的页码有误,打印取消!"
            Exit Sub
         End If
      End If
   Else
      MsgBox "您未选择任何页面范围,打印取消!"
      Exit Sub
   End If
Loop
将这段代码复制到“Sub printpage()”和“End Sub”之间就行了,点击“执行”
以上代码可以实现在EXCEL中指定页码范围的奇偶打印功能

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多