使用Excel VBA中的ExportAsFixedFormat错误的PDF输出大小

时间:2013-02-26 08:25:14

标签: vba pdf excel-vba pdf-generation excel-2010

我将Excel 2010与VBA一起使用。

我有以下代码:

mySh.PageSetup.PaperSize = xlPaperLetter
mySh.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=filePathTmp, _
    Quality:=xlQualityStandard, IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False

它生成PDF而没有错误,但大小不正确。 我得到的是22.26 x 28.80 cm,而不是我想要的21.59 x 27.94 cm。

有什么想法吗?

感谢您的帮助

4 个答案:

答案 0 :(得分:6)

我使用Excel 2010并遇到此问题。我通过在“文件”选项卡的“打印”部分的Excel下拉列表中更改打印机来修复它。我的默认打印机是柯尼卡美能达复印机。我将它改为本地打印机(实际上并不存在)并且它有效!我现在有VBA代码返回8.5x11 PDF!现在,我不必使用我们笨重的旧笔记本电脑和旧办公室来获得合适的尺寸。

请注意,选择Adobe PDF打印机无法解决问题。只是尝试搞乱不同的打印机选择,或者在计算机的设备和打印机中制作假的打印机并使用它。我希望它适用于同样问题的其他人!

答案 1 :(得分:0)

我也使用Excel 2010并遇到了同样的问题。使用ExportAsFixedFormat时,页面将不会缩放。据我所知,它与使用另存为文件类型pdf相同。这意味着您需要扩展工作簿以适合您需要的页面。

如果你:

- 打开打印机设置并选择“无缩放”

-Page Layout>打印区域>清除打印区域

- 选择视图>分页视图

它会显示页面区域。如果您将工作表缩放到此,它将使用ExportAsFixedFormat正确保存为pdf。

答案 2 :(得分:0)

我们遇到了同样的问题,并且在设备和打印机上更改了默认的打印选项:

- 控制面板 - >设备和打印机 - >单击一次选择打印机。

- 第二个鼠标按钮 - >打印机属性 - >高级 - >打印默认值 - >高级。

选择纸张尺寸,然后单击“确定”。

为什么不在excel上更改它?因为与Excel和服务运行假脱机之间的权限相关的东西或......

默认设置使宏可以正确导出到纸张尺寸。

如果它适合您,请归功于我们的IT部门,而不是我:P

答案 3 :(得分:0)

我在需要的地方设置了打印区域:“查看分页预览”。 然后,文件打印缩放比例=一页上适合纸张 要么 File-Print-Page Setup-Fit to:1页宽乘1高。

希望它可以帮助某人。