【发布时间】:2021-11-17 15:51:32
【问题描述】:
我正在尝试创建一个选择多个工作表的宏,然后显示显示打印预览的 Excel 打印对话框,从而使用户能够选择他们的打印机、份数等。到目前为止,我有以下内容:
Sub PrintReport()
'
' PrintReport Macro
'
'
Sheets(Array("Cover page", "Scoresheet")).Select
Sheets("Cover page").Activate
Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
End Sub
这是迄今为止我发现的唯一显示正确对话框的代码,但是选择组工作表的两行(由 Record Macro 函数创建)不起作用,即只显示一个工作表印刷。我推断 ExecuteMso 函数可能在初始化期间清除了选择。任何人都可以建议一种方法来获得我想要的东西吗?
【问题讨论】:
-
我无法重现此行为,但您可以尝试将
Sheets("Cover page").Activate移到Sheets(Array("Cover page", "Scoresheet")).Select之前 -
谢谢@BigBen - 不幸的是这并没有什么不同。
-
我也无法重新创建所描述的行为(即您的代码按预期运行并在“正常”打印预览中显示两张纸)。如果第二张纸是空白的(即一张干净的空白纸),我可以创建该行为,但必须假设这里不是这种情况。所有这一切都表明这是一个与版本相关的错误/问题。
-
谢谢@Spinner。我倾向于同意;最近有一些小的行为变化,我认为是由于更新。我想我会暂时忍受这个,看看另一个更新是否能解决这个问题。