C#Excel ActivePrinter异常0x800A03EC

时间:2017-08-15 09:56:15

标签: c# asp.net excel printing automation

我无法从Asp.NET网络服务中将活动打印机更改为Excel中的特定打印机。该服务在LocalSystem帐户下运行。 如果我调用一个显示打印机列表的函数:

System.Drawing.Printing.PrinterSettings.InstalledPrinters

我获得了系统打印机中安装的列表:

  

" Microsoft打印到PDF"

     

" Microsoft XPS Document Writer"

     

" HP Universal Printing PCL 6"

但如果我调用函数

excelApplication.ActivePrinter

它返回 -

  

未知打印机

当我尝试从此c# setting a printer设置打印机时:

excelApplication.ActivePrinter = "Microsoft XPS Document Writer"

或(我在注册配置单元中找到了端口 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Devices

excelApplication.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"

没关系,我得到了异常0x800A03EC。

最后,我还尝试更改系统中的默认打印机:

 [DllImport("winspool.drv",
              CharSet = CharSet.Auto,
              SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern Boolean SetDefaultPrinter(String name);

工作正常,系统中的默认打印机已更改。但在Excel仍然是"未知的打印机"

此外,如果我在我的帐户下打开Excel,在打印设置中我可以看到默认打印机

0 个答案:

没有答案
相关问题