繁体   English   中英

Microsoft.Office.Interop.Excel打印输出引发错误

[英]Microsoft.Office.Interop.Excel PrintOut Throws Error

我在64位Windows 7桌面工作站上的.Net Framework 4.5 Windows Service项目中正在使用Microsoft.Office.Interop.Excel,除了PageSetup属性,更重要的是Worksheet对象的PrintOut方法,其他所有东西似乎都在工作。

这是代码:

Microsoft.Office.Interop.Excel.Application ExcelApp = null;
Microsoft.Office.Interop.Excel.Workbook WBook = new Microsoft.Office.Interop.Excel.Workbook;
Microsoft.Office.Interop.Excel.Worksheet WSheet = new Microsoft.Office.Interop.Excel.Worksheet);

ExcelApp = new Microsoft.Office.Interop.Excel.Application();

WBook = ExcelApp.Workbooks.Add();

WSheet = WBook.Worksheets[1];

//Do some stuff with the sheet

//None of this works, throws an error: Unable to set the Orientation property of the PageSetup class
WSheet.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
WSheet.PageSetup.Zoom = false;
WSheet.PageSetup.FitToPagesWide = 1;
WSheet.PageSetup.FitToPagesTall = false;

//Throws Error (see below)
WSheet.PrintOut(null, null, null, null, null, null, null);

PrintOut()错误: 未安装打印机。 要安装打印机,请单击“文件”选项卡,然后单击“打印”。 单击“未安装打印机”,然后单击“添加打印机”。 请按照“添加打印机”对话框中的说明进行操作。

我肯定在我的设备和打印机中定义了打印机。 我将网络打印机设置为默认打印机。 我什至将此打印机添加到Win.ini中,因为我在其他帖子中看到了此建议,但无济于事。

我在写问题时想出了这一点。

确保您在已设置打印机和指定默认打印机的帐户下运行Windows服务。 一旦我将其切换为使用我的个人帐户运行,我便以Local Service帐户运行该服务,而PageSetup属性和PrintOut()方法都可以正常工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM