Jam*_*oes 6 printing excel vba printdialog excel-vba
当我使用PrintOut方法将Worksheet对象打印到打印机时,即使我已设置DisplayAlerts = False,也会显示"打印"对话框(显示文件名,目标打印机,打印页面和取消按钮).下面的代码在Excel宏中工作,但如果我在VB或VB.Net应用程序中使用此代码(使用Excel对象需要引用更改),则会发生同样的情况.
Public Sub TestPrint()
Dim vSheet As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set vSheet = ActiveSheet
vSheet.PrintOut Preview:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑:下面的答案更多地阐明了这一点(它可能是一个Windows对话框而不是Excel对话框),但没有回答我的问题.有谁知道如何防止它被显示?
编辑:谢谢你的额外研究,凯文.它看起来非常像我需要的东西.只是不确定我想盲目接受这样的API代码.是否有其他人对这些API调用有任何了解,并且他们正在做作者所声称的内容?
当您说“打印”对话框时,我假设您指的是“正在打印 xxx”对话框,而不是标准打印对话框(选择打印机、份数等)。以上面的示例并尝试一下,这就是我看到的行为 - “正在打印...”短暂显示然后自动关闭。
您试图控制的内容可能与 Excel 无关,而是 Windows 级别的行为。如果它是可控的,您需要 a) 禁用它,b) 执行打印,c) 重新启用。如果您的代码失败,则存在无法为其他应用程序重新启用此功能的风险。
编辑:尝试这个解决方案:How do you Prevent PrintingDialog when using Excel PrintOut method。它似乎准确地描述了你所追求的。
| 归档时间: |
|
| 查看次数: |
17607 次 |
| 最近记录: |