加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vba打印--代码整理

(2013-01-19 09:44:31)
标签:

打印vba

杂谈

分类: excel-vba

Sub 页码类()
 
竖向页码 = ActiveSheet.HPageBreaks.Count + 1
 
横向页码 = ActiveSheet.VPageBreaks.Count + 1
 
总页码 = 竖向页码 * 横向页码
'---------------
当前单元格所在页---------
当前单元格所在行 = Range("A50").Row
 For Each yh In ActiveSheet.HPageBreaks
        ih = ih + 1
        If
当前单元格所在行 <= yh.Location.Row Then
         
当前单元格所在页 = ih
          Exit For
        End If
 Next
'-----------------------------------------
End Sub

---------------------------------------------------------------------------------------------------------
'
1-2页都显示13-4页都显示2

Sub dd1() '方法1
For I = 1 To ActiveSheet.HPageBreaks.Count
  With ActiveSheet.PageSetup
      .LeftFooter = "
" & Int(I + 1 / 2) & "页,共 " & ActiveSheet.HPageBreaks.Count & ""
  End With
 ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
Next I
End Sub
Sub dd2() '
方法2
    p = ExecuteExcel4Macro("Get.Document(50)")
    
    For I = 1 To p
        ActiveSheet.PageSetup.LeftFooter = "
" & Int(I + 1 / 2) & "页,共 " & p & ""
        ActiveWindow.SelectedSheets.PrintOut From:=I, To:=I
    Next
End Sub

Sub 每页分别打印指定份数()
  Dim i%, Ps%
  Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)")    '
总页数
  MsgBox "
现在打印,按确定开始."
For i = 1 To Ps 
    ActiveSheet.PrintOut from:=i, To:=i
ActiveWindow.SelectedSheets.PrintOut From:=i, To:=i, Copies:=5, Collate:=True    '
打印第i5
  Next i
End Sub

 

ActiveSheet.PrintOut copies:=5’逐份打印5

Collate:=True  '[逐份打印]
Collate      Variant 类型,可选。如果该值为 
True,则逐份打印每份副本。

 

Sub 打印选定区域的内容()

MB=MsgBox("请确认是否打印选定区域?", vbYesNo+ vbExclamation, "系统温馨提示")

If MB = vbNo Then

  Exit Sub

Else   

Selection.PrintOut copies:=1, collate:=True

End If

End Sub

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有