如何通过VBA实现打印指定隐藏工作表而非活动工作表?
实现打印指定隐藏工作表的功能
要打印隐藏的Sheet17,你需要先临时取消它的隐藏状态(Excel不允许直接打印隐藏工作表),调用打印对话框后再重新隐藏它。修改后的代码如下:
Private Sub PrintButton1_Click() ' 临时取消Sheet17的隐藏 Sheet17.Visible = xlSheetVisible ' 指定打印目标为Sheet17并调出打印对话框 Application.Dialogs(xlDialogPrint).Show Arg1:=Sheet17.Name ' 重新隐藏Sheet17 Sheet17.Visible = xlSheetHidden End Sub
代码说明:
Sheet17.Visible = xlSheetVisible:将隐藏的Sheet17临时设为可见,这是打印它的必要前提Application.Dialogs(xlDialogPrint).Show Arg1:=Sheet17.Name:通过Arg1参数指定打印目标为Sheet17,此时弹出的打印对话框会默认选中该工作表Sheet17.Visible = xlSheetHidden:打印操作完成后(无论用户选择打印还是取消),将Sheet17重新设为隐藏状态
这样修改后,点击按钮会弹出打印对话框,默认打印目标是Sheet17,且用户不会察觉到Sheet17被临时显示过。
内容的提问来源于stack exchange,提问作者Ben S
相关产品推荐
相关产品推荐

