在Bob的系统上,Excel拒绝打印到该系统默认打印机以外的任何打印机。这仅在Excel中发生,而不在Word或任何其他已安装的应用程序中发生。因此,要进行打印,他必须将默认打印机临时更改为所需的打印机,然后再进行打印,然后记住再将其设置回去。鲍勃想知道为什么他不能选择其他打印机。

可能有许多不同的原因导致此问题。一位订户报告说他们有同样的问题,但是只有在将办公室迁移到64位Windows 7并使用Windows PrintServer之后才出现。在他们的情况下,他们发现它们是导致问题的打印机队列上的隐藏属性,只有与Microsoft支持人员联系才能解决此问题。

其他人报告了在系统上安装特定加载项时出现的问题。 (多次提到一个Microsoft Office Labs搜索命令。)禁用外接程序解决了该问题。

关于该问题和各种修复方法,这里进行了很好的讨论:

http://answers.microsoft.com/en-us/office/forum/office_2010-excel/excel-2010-only-prints-to-the-default-printer/5b6beddd-f85d-4fda-ab2b-56c750f2028c

您需要确保将其作为单个URL输入到浏览器中。很长

如果您遇到的情况下没有建议的解决方案,则可以尝试通过宏进行打印。为什么?因为您可以轻松地在宏中修改指定的默认打印机,然后再将其更改回。所有这些都通过使用ActivePrinter属性来完成。您可以确定当前默认打印机的名称,并将其分配给变量,更改打印机,然后进行打印,最后再将打印机更改回:

Dim sDefault As String sDefault = Application.ActivePrinter  'save current default printer Application.ActivePrinter = "XYZ SuperPrinter"

' do your printing Application.ActivePrinter = sDefault  'restore default

唯一需要做的就是确保将“ XYZ SuperPrinter”替换为要使用的打印机的实际名称。您可以通过将其设置为默认值(在Windows中)来找到打印机的名称,然后在VBE Instant窗口中打印打印机的名称:

? Application.ActivePrinter

记下名称,注意空格和大写,这是您可以在打印宏中使用的名称。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12497)适用于Microsoft Excel 2007、2010、2013和2016。