我正在尝试使用 VB.NET 打印 Excel 电子表格,但出现错误
无法设置 PageSetup 类的 PaperSize 属性
这是我的代码,
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
该代码在我的开发机器上运行,一旦我部署到测试服务器,代码就会失败。服务器上已安装默认打印机驱动程序。
您需要安装打印机驱动程序。 Excel 的 PageSetup 类必须与打印机驱动程序交互
我在 Mac Parallels(虚拟机)下运行的 Windows 8 上运行相关代码时遇到类似问题。对于在 Mac Parallels 上进行 Visual Studio 部署的任何人,我正在做的事情如下:
- 禁用 Mac 和 Windows 之间的打印机共享。前往平行线
(VM) > 配置 > 硬件,然后单击打印。取消选中“添加所有 Mac”
打印机”和“同步默认打印机”
- 在 Windows 上安装打印机驱动程序
- 为了获得同一无线路由器分配的IP地址
(如果需要无线连接打印机)则需要进行设置
网络作为桥接。前往平行线
(VM) > 配置 > 硬件 >“网络 1”,然后选择网络类型为“机场”,将 DHCP 服务器选择为“自动”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)