我在一张纸上定义了一个打印区域并将其打印出来。 但是这个区域比一张纸要大,所以它会打印成4页。 我希望将所有内容放在一个页面中。所以我尝试了代码:
Sub PrintTable()
With ActiveWorkbook.Sheets("myTable").PageSetup
.PrintArea = "$A$1:$L$55"
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
End Sub
但它不起作用,我不知道要纠正哪个部分。我已经使用了“记录宏”,或许我删除了一些重要的行。所以,如果你有一些想法,请留言。
答案 0 :(得分:2)
修改每this explanation,Zoom
必须先设置为False
。尝试:
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
代替您现在拥有的两条.FitToPages
行。
原始回答
按this forum post,尝试
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
或
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = False
代替您现在拥有的两条.FitToPages
行。
答案 1 :(得分:2)
我自己尝试过,这样做有效:
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Application.PrintCommunication = True
不设置
Application.PrintCommunication
为假和真,它不起作用。你能试试吗?