【发布时间】:2017-05-25 22:37:40
【问题描述】:
大家好。我创建了一个宏来导出我在 excel 中构建的一些模板。模板的范围是 A1:T79。我设置了下面的代码以获取该范围并将其转换为 PDF 文档(效果很好)。
问题是它创建的 pdf 文档在右侧有很大的空间。我希望列(A 到 T)能够端到端地完全填充页面宽度(与调整到长度的页面数量无关)。
我已经尝试了很多方法并查看了该网站上的一些相关链接,但没有一个有效(这就是为什么我再次询问而不是回复超过一年的旧帖子!)。任何帮助将不胜感激。代码如下。如果我没有正确解释任何内容,请告诉我,我将在下面回复。谢谢! :)
Sub PDF_Gen()
'Set Page Area. My attempt at trying to fix the page width which doesn't work
With ActiveSheet.PageSetup
.PrintArea = ActiveSheet.Range("A1:T79")
.Orientation = xlPortrait
.FitToPagesWide = 1
.Zoom = False
End With
'Convert to PDF and save document in C drive
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\template1.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
【问题讨论】:
-
为了清楚起见,我已经尝试了stackoverflow.com/questions/33127693/… 这里的一些解决方案,尽管那是如何将大量列“压缩”到一个 PDF 中。我试图做相反的事情,将 20 列整齐地放入一个 PDF 文档中,没有任何右边距或左边距......
-
您的工作表在“打印预览”中看起来是否正常或右边距较宽?
-
如果我将工作簿视图设置为分页预览模式并手动为第 1 页选择相同的范围,仍然有一个小的边距,但在打印预览中看起来好多了。不幸的是,我尝试做同样的事情,然后运行 pdf 生成器(不包括页面设置步骤),但它仍然在 pdf 文档中有边距(这让我相信这是 pdf 步骤的问题,而不是在 excel 中格式化)
标签: vba excel pdf pdf-generation