下面的 sub 应该为 PDF 输出准备 pagesetup。例如,如果由于其他连接的打印机而导致页面制动混乱,则潜艇应将其修复为 1 页宽和 3 页高。
Sub adjustPB(ws As Variant, ps As XlPaperSize)
'On Error Resume Next
Application.DisplayAlerts = False
Application.PrintCommunication = False
With ws.PageSetup
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.Orientation = xlLandscape
'.Orientation = xlPortrait
.PaperSize = ps
.Zoom = 100
.Zoom = False
Debug.Print .Zoom
.FitToPagesWide = 1
Debug.Print .Zoom
Debug.Print .FitToPagesWide
.FitToPagesTall = 3
End With
Application.DisplayAlerts = True
Application.PrintCommunication = True
End Sub
当我在“With ws.PateSetup”处添加断点时,sub 实际上在单步 (F8) 中按预期工作。但是,如果我使用 F5 运行它,它会忽略这些语句。调试打印显示,属性的值没有改变。
到目前为止尝试的事情:在 .zoom 和 .FitPagesWide 之前添加延迟,最多 1 秒。不用找了。例如,Zoom 仍然是 55。在单步中,Zoom 最终读取 FALSE。任何解释/提示这里出了什么问题?