显示打印对话框从MS Access VBA打印Excel工作表
我想打印Excel表格(单张),它存储在本地计算机的路径中,只需单击MS Access窗体上的按钮即可。出于某些业务原因,我需要提供显示打印设置对话框的灵活性,如果我们从外部打印Excel工作表,通常会显示该对话框,以便用户可以选择打印机、选择要打印的工作表的哪个部分、要打印的份数等。我目前有如下代码:-显示打印对话框从MS Access VBA打印Excel工作表,vba,ms-access,ms-access-2010,Vba,Ms Access,Ms Access 2010,我想打印Excel表格(单张),它存储在本地计算机的路径中,只需单击MS Access窗体上的按钮即可。出于某些业务原因,我需要提供显示打印设置对话框的灵活性,如果我们从外部打印Excel工作表,通常会显示该对话框,以便用户可以选择打印机、选择要打印的工作表的哪个部分、要打印的份数等。我目前有如下代码:- Private Sub cmdPrint_Click() 'wks is already set to Excel sheet which needs to be printed
Private Sub cmdPrint_Click()
'wks is already set to Excel sheet which needs to be printed
wks.PrintOut
End Sub
我还尝试使用如下所示的方法,但不确定如何将Printout方法与xlDialogPrint连接起来
ExcelApp.Dialogs(xlDialogPrint).Show
我正在为MS Access VBA中的代码做斗争。下面的代码将打开Excel,然后打开打印界面,允许用户选择打印任何有焦点的工作表
Sub PrintSheet()
Dim xl As Excel.Application, wb As Excel.Workbook
Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Open("C:\filepath\filename.xlsx")
xl.Visible = True
xl.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub
如果您想允许用户选择打印机和其他打印设置,那么如何自动打印输出?我希望用户必须从打印界面单击打印。感谢6月7日的回复。我可以使用您建议的代码获得“打印”对话框,但是执行不会停止,用户可以采取行动,并继续执行,然后移动到我编写的下一行代码,以关闭工作表并退出Excel应用程序。如何暂停,直到用户取消打印对话框或用户完成打印。也可以在不使用xl.Visible=True的情况下仅获取打印对话框。我的意思是,Excel界面是否可能继续保持隐藏状态,并且只有Excel的“打印”对话框可见。谢谢,我想我不能停下来。用户要么获得控制权,要么不获得控制权。如果应用程序不可见,您希望它的功能如何可见?您可以尝试注释
xl.Visible=True
,并在退出行上放置一个断点,看看会发生什么。别以为你会感激。