|
1、场景描述:
当设置打印区域将所有列打印在一页:
ActiveSheet.PageSetup.FitToPagesTall = 1 '页⾯缩放:调整为1页宽
此时,返回缩放比
s = ActiveSheet.PageSetup.Zoom
MsgBox s
结果:s = False '页⾯缩放⽐例:若选择调整页⾯则此项必为False
2、问题:
返回True或False,而不是返回缩放比例的数值。
3、方法:
用Get.Document(50)函数可以获得当前设置下欲打印的总页数,取一列进行两种设置:将所有列打印在一页、100%缩放打印,分别获得其对应欲打印的总页数,则可计算出当前缩放比例。
- Sub 估算缩放比例()
- '保存打印区域,新定义打印区域
- Dim dy As String, dy1 As String
- dy = ActiveSheet.PageSetup.PrintArea
- dylen = Len(dy)
- pos1 = InStr(dy, ":")
- lie = Mid(dy, pos1 + 2, 1)
- dy1 = dy
- Mid(dy1, pos1 + 2, 1) = "A"
- ActiveSheet.PageSetup.PrintArea = dy1 & "00"
- ActiveSheet.PageSetup.Zoom = 100 '页面缩放:100%
- Pages = ExecuteExcel4Macro("Get.Document(50)")
- y = Pages
- ActiveSheet.PageSetup.PrintArea = dy & "00"
- ActiveSheet.PageSetup.FitToPagesWide = 1 '页面缩放:将所有列打印在一页
- Pages = ExecuteExcel4Macro("Get.Document(50)")
- x = Pages
- b = x / y
- MsgBox b
- '还原打印区域
- ActiveSheet.PageSetup.PrintArea = dy
- End Sub
复制代码
|
|