我正在尝试在Excel 2013中模拟Ctrl-P,其中打印对话框显示在左侧,打印预览显示在右侧。
(虽然预览显示的地方,我总是必须先单击"显示打印预览"。我找不到每次都强制显示预览的方法)。
我尝试了以下方法:
Application.Dialogs(xlDialogPrint).Show
这显示了旧样式对话框,您需要在其中单击"预览"按钮
ActiveSheet.PrintPreview
这将显示预览,但不允许从同一屏幕更改打印机。
像这样的东西?
胜过
Option Explicit
Public Sub Example()
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub
CommandBars.ExecuteMso 方法 (MSDN)是在特定命令没有对象模型的情况下有用的方法。
对于展望
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