允许用户打印受保护的工作表



我有一个工作表,它是由用户表单信息和同一文件中的其他几个电子表格填充的。我使用了以下代码:

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

相关内容

  • 没有找到相关文章

最新更新