我有一个工作表,它是由用户表单信息和同一文件中的其他几个电子表格填充的。我使用了以下代码:
Application.Dialogs(xlDialogPrint).Show
我确保在打印之前激活表单,并且我已经使功能正常工作。
必须保护此工作表和工作簿中的其他工作表,以防止用户在用户窗体之外进行更改。当我保护工作表并添加适当的代码来解锁该工作表时,会发生以下几件事:1.用户表单按设计填写。2.打印对话框按设计显示。3.当按下对话框上的打印按钮时,将不会打印。不是打印机问题:它也不会打印成PDF。
我如何才能让它真正打印出我需要的工作表?
您可以使用取消对工作表的保护
ActiveSheet.Unprotect
https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.unprotect
然后在使用处理后对其进行保护
ActiveSheet.Protect
https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.protect
下面的平庸代码必须在不需要解除保护和保护的情况下完成工作
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, Collate:=True