如何在同一屏幕上显示打印对话框和打印预览?
How to show print dialog box and print preview on same screen?
我正在尝试在 Excel 2013 中模拟 Ctrl-P,其中打印对话框显示在左侧,打印预览显示在右侧。
(虽然在显示预览的地方,我总是必须先单击 “显示打印预览”。我找不到每次都强制显示预览的方法) .
我尝试了以下方法:
Application.Dialogs(xlDialogPrint).Show
这显示了您需要单击“预览”按钮的旧式对话框
ActiveSheet.PrintPreview
这显示了预览,但不允许从同一屏幕更改打印机。
是这样的吗?
Excel
Option Explicit
Public Sub Example()
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub
CommandBars.ExecuteMso Method (MSDN) 在特定命令没有对象模型的情况下是有用的方法。
对于 Outlook
Option Explicit
Public Sub Example()
Dim Inspector As Outlook.Inspector
Set Inspector = Application.ActiveInspector
If Not Inspector Is Nothing Then
Dim cmd As Office.CommandBars
Set cmd = Inspector.CommandBars
cmd.ExecuteMso ("FilePrintPreview")
Else
ActiveExplorer.selection(1).Display
Set cmd = ActiveInspector.CommandBars
cmd.ExecuteMso ("FilePrintPreview")
End If
End Sub
我正在尝试在 Excel 2013 中模拟 Ctrl-P,其中打印对话框显示在左侧,打印预览显示在右侧。
(虽然在显示预览的地方,我总是必须先单击 “显示打印预览”。我找不到每次都强制显示预览的方法) .
我尝试了以下方法:
Application.Dialogs(xlDialogPrint).Show
这显示了您需要单击“预览”按钮的旧式对话框
ActiveSheet.PrintPreview
这显示了预览,但不允许从同一屏幕更改打印机。
是这样的吗?
Excel
Option Explicit
Public Sub Example()
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub
CommandBars.ExecuteMso Method (MSDN) 在特定命令没有对象模型的情况下是有用的方法。
对于 Outlook
Option Explicit
Public Sub Example()
Dim Inspector As Outlook.Inspector
Set Inspector = Application.ActiveInspector
If Not Inspector Is Nothing Then
Dim cmd As Office.CommandBars
Set cmd = Inspector.CommandBars
cmd.ExecuteMso ("FilePrintPreview")
Else
ActiveExplorer.selection(1).Display
Set cmd = ActiveInspector.CommandBars
cmd.ExecuteMso ("FilePrintPreview")
End If
End Sub