如何显示打印对话框并在同一屏幕上显示预览

时间:2016-03-07 02:06:58

标签: excel vba ms-word print-preview

我试图在Excel 2013中模拟 Ctrl-P ,其中左侧显示打印对话框,右侧是打印预览。

(虽然预览显示在哪里,但我必须先点击 "Show Print Preview" - 我似乎找不到每次强制预览的方法。

我尝试了以下内容:

Application.Dialogs(xlDialogPrint).Show

这会显示旧样式对话框,您需要在其中单击"预览"按钮

ActiveSheet.PrintPreview

这显示预览,但不允许从同一屏幕更改打印机

1 个答案:

答案 0 :(得分:2)

这样的事情?

<强> Excel中

Option Explicit
Public Sub Example()
    Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub

CommandBars.ExecuteMso Method (Link) 是特定命令没有对象模型的有用方法。

对于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