以下是绑定到activeX按钮的代码。
With Worksheets("SUMMARY").PageSetup
.HeaderMargin = Application.InchesToPoints(0.25)
.FooterMargin = Application.InchesToPoints(0.1)
.LeftMargin = Application.InchesToPoints(1)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(1)
.CenterFooter = "Page &P of &N"
.PrintTitleRows = Rows("1:7").Address
.RightFooter = ""
.Orientation = xlLandscape
.PaperSize = xlPaperLedger 'Error 1004
Worksheets("SUMMARY").PrintOut
End With
出于某种原因,我一直在1004 error
行获得.PaperSize = xlPaperLedger
。打印机支持Ledger纸张,我可以手动打印,但由于某些原因,单击按钮时无法打印。
有很多受密码保护的纸张等,但我认为这不是问题。我之前打印过这段代码,它运行正常。
答案 0 :(得分:0)
取决于打印驱动程序。每个打印驱动程序调用不同的纸张大小。例如,打印到Adobe PDF打印机会将其称为xlPaperLedger
。
但是,使用HP通用打印驱动程序打印到HP打印机时,需要以下代码:
Worksheets("Sheet1").PageSetup.PaperSize = 120
您可以通过录制宏并在Excel中手动设置文件大小来找出打印机所称的内容。
<强> TL; DR:强> 一些类似的打印驱动程序称为不同的名称。
答案 1 :(得分:-2)
即使您可以手动打印,这仍然可能是打印机驱动程序问题。您可以尝试安装32/64位版本的打印机驱动程序(取决于您当前拥有的),看看是否有所作为