Vb.net 无法设置PageSetup类的PaperSize属性
我正在尝试使用VB.NET打印excel电子表格,但出现错误 无法设置PageSetup类的PaperSize属性 这是我的密码Vb.net 无法设置PageSetup类的PaperSize属性,vb.net,excel,Vb.net,Excel,我正在尝试使用VB.NET打印excel电子表格,但出现错误 无法设置PageSetup类的PaperSize属性 这是我的密码 Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.
Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
With application
.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable
.Visible = False
.EnableEvents = False
.DisplayAlerts = False
.ScreenUpdating = False
End With
Dim workbook As Excel.Workbook
Dim worksheet As Excel.Worksheet
'Open as readonly and do not update links
workbook = application.Workbooks.Open(_fileName, 2, True)
For Each worksheet In workbook.Worksheets
worksheet.PageSetup.PaperSize = _paperSize
Next
workbook.PrintOutEx()
workbook.Close(False)
application.Quit()
System.Threading.Thread.CurrentThread.CurrentCulture = oldCI
worksheet = Nothing
application = Nothing
这段代码在我的开发机器上运行,一旦我部署到测试服务器,代码就会失败。服务器上已经安装了默认打印机驱动程序。您可以使用office automation更改页面大小,如下所示
worksheet.PageSetup.PaperSize = WdPaperSize.wdPaperLetter
或者从“WdPaperSize”下拉列表中选择任何其他纸张类型
希望它能对您有所帮助。您需要安装打印机驱动程序。Excel的PageSetup类必须与打印机驱动程序交互 我在运行在Mac Parallels(虚拟机)下运行的Windows 8上的相关代码时遇到类似问题。对于在Mac Parallels上进行Visual Studio部署的任何人,我将做以下几点:
核心问题在于\u纸张大小常数。在我的例子中,它在以下方面给出了相同的错误:(原谅c#) 根据打印机的不同,例如,“分类账”大小的纸张可以定义为11x17或小报。找出打印驱动程序所指的页面大小,然后 不起作用:
excel.ActiveSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperLedger
excel.ActiveSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaper11x17
已工作:
excel.ActiveSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperTabloid
我希望这能帮助任何有令人沮丧的问题的人解决Microsoft Excel枚举中有趣的不一致问题。微软对XSham回答的确认: 症状 运行Microsoft Visual Basic for Applications宏时,该宏尝试设置或获取任何应用程序的页面设置属性 在Microsoft Excel工作簿中,您可能会收到 以下错误消息: 运行时错误“1004”:无法设置页面设置程序的x属性 类运行时错误“1004”:无法获取 页面设置类 原因 如果计算机上没有安装打印机驱动程序,则会出现此问题。如果未安装打印机驱动程序,Excel无法设置或获取页面设置属性 决议 要防止出现此问题,请在计算机上安装打印机驱动程序。使用“控制面板”中的“打印机”选项添加和删除打印机驱动程序
它一开始就失败了吗?或者在特定的工作表上?您遇到了哪些错误?您正在使用正确的枚举,对吗?第一个实例失败是的,使用了正确的枚举。它只是由另一个类计算出来的,由_papersize表示。请告诉我们计算机是否安装了打印机,如果安装了打印机,该打印机支持您试图设置的纸张大小。如果您查看了上面的代码,这是为每个工作表完成的
excel.ActiveSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperTabloid