Excel Vba代码,用于在使用range.exporttopdf方法时将图表对象保留在一张图纸上
我有将范围和数据透视图输出为pdf的代码。此时,我正在努力将图表元素放在一页上,而不是将其截断。这是我的密码:Excel Vba代码,用于在使用range.exporttopdf方法时将图表对象保留在一张图纸上,excel,vba,Excel,Vba,我有将范围和数据透视图输出为pdf的代码。此时,我正在努力将图表元素放在一页上,而不是将其截断。这是我的密码: With nxraySheet.PageSetup .FitToPagesWide = 1 .FitToPagesTall = False .Orientation = xlLandscape .Zoom = 85 .LeftMargin = 0 .RightMargin = 0
With nxraySheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
.Orientation = xlLandscape
.Zoom = 85
.LeftMargin = 0
.RightMargin = 0
.CenterHorizontally = True
End With
nxraySheet.Columns("A:H").HorizontalAlignment = xlCenter
nxraySheet.Range("A:H").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="Blah Blah Blah\Test Location\AVITEST\PDFs\X-Rays\" & "X-Ray-" & facilityList.Cells(i, 1) & "-" & Format(Date, "mm-dd-yy") & ".xlsx", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
[]在Excel中,不幸的是,您不能告诉图表作为一个整体打印(类似于“Excel,请将图表上移或下移几行以全部打印”) 以下是一些选项: 整体缩放 您不能同时拥有
FitToPagesWide=1
和Zoom=85
。这不会引发错误,但这些设置相互冲突,缩放因子获胜。
因此,您可以选择较低的缩放系数:
With nxraySheet.PageSetup
.Zoom = 75
垂直放置在一页上
如果要在1页上垂直显示,请先重置缩放因子:
With nxraySheet.PageSetup
.Zoom = False
.FitToPagesWide = False
.FitToPagesTall = 1
水平放置在1页上,添加分页符
您可以打印1页宽,并直接在数据透视图之前添加手动水平分页符:
With nxraySheet
.PageSetup.Zoom = False
.PageSetup.FitToPagesWide = 1
.PageSetup.FitToPagesTall = False
.ResetAllPageBreaks
.HPageBreaks.Add Before:=.ChartObjects(1).TopLeftCell.Row
图表在没有VBA的情况下是否正常打印到1页?在我看来,您没有正确设置打印区域。谢谢,这非常有效!我不知道HPageBreaks.add属性。很好:)那么请按照描述将我的答案标记为“已接受答案”。哈,很抱歉,你这样做了。再次感谢!