EXCEL VBA隐藏表单和电子邮件问题

我想通过电子邮件发送一个Excel文件,其中包含一个用户隐藏的控件。

目前,点击button,它隐藏表格,并通过电子邮件发送VBA代码。

但是,有两个问题。 1)要取消隐藏这张表,我必须去VBA代码,直接窗口,并键入

对于表中的每个ws:ws.Visible = True:下一步

..并进入。

有一个更好的方法来做到这一点,因为高级经理将执行和电子邮件报告。

2)通过电子邮件发送的文件,任何人都可以去VBA代码,并立即窗口…按照步骤,并取消隐藏标签。 如何使其永久隐藏在通过电子邮件发送的文件中而不影响源文件?

这里是我用来隐藏它的代码:

Dim sheet As Worksheet Set sheet = ActiveSheet ' this hides the sheet so that it can only be made visible using VBA sheet.Visible = xlSheetVeryHidden ActiveWorkbook.Sheets("Admin").Visible = xlSheetVeryHidden Worksheets("sheet1").Activate ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & "\MyReport - " & Format(Date, "mm-dd-yyyy") & ".xlsm" 

'后面的代码电子邮件…

尝试做一个新的子,并有一个button,用户可以推动取消隐藏所有表

 Sub UnhideAllSheets() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets ws.Visible = xlSheetVisible Next ws End Sub 

要取消隐藏工作表,您可以创build另一个macros来运行手动input的代码。

要隐藏VBA代码,在编辑器中,可以转至工具> VBAProject属性>保护,然后select使用或不使用密码来locking它。