我有一个工作表,它是从用户表单信息以及同一文件中的其他一些电子表格中填充的。我使用了以下代码:
Application.Dialogs(xlDialogPrint).Show
我确保在打印之前已激活纸张,并且该功能正常工作。
此工作表和工作簿中的其他文件必须受到保护,以防止用户在用户表格之外进行更改。当我保护工作表并添加适当的代码以解锁该工作表时,会发生一些事情: 1.用户表格按设计填写。 2.打印对话框显示为设计状态。 3.按下对话框上的“打印”按钮时,将不会打印。不是打印机问题:它也不会打印为PDF。
我如何才能根据需要实际打印工作表?
答案 0 :(得分:0)
您可以使用
取消保护工作表ActiveSheet.Unprotect
https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.unprotect
然后使用它来保护它
ActiveSheet.Protect
https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.protect
答案 1 :(得分:0)
下面的普通代码必须完成工作,而无需取消保护和保护
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, Collate:=True