Car*_*ven 2 excel vba ms-office
我的 Excel 文件中有一个宏,用于确定用户是否可以打开它。但是,似乎根据用户机器的设置,Excel 默认情况下禁用宏。这最终打开并显示了 xls 文件中的内容。
如何确保用户必须接受运行宏或 Excel 将关闭工作簿?
更新了代码,因为它并没有完全按照它的意思去做......
这几乎是您可以使用宏执行此操作的唯一方法(感谢@OlleSjögren 提供洞察力:p)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Current As Worksheet
Worksheets.Add(Before:=Worksheets(1)).Name = "Protection"
Worksheets("Protection").Cells(1, 1) = "Please activate macros to view this workbook."
For Each Current In Worksheets
If Current.Name <> "Protection" Then
Current.Visible = xlSheetVeryHidden
End If
Next Current
End Sub
Private Sub Workbook_Open()
Dim Current As Worksheet
For Each Current In Worksheets
Current.Visible = xlSheetVisible
Next Current
Application.DisplayAlerts = False
Worksheets("Protection").Delete
Application.DisplayAlerts = True
End Sub
Run Code Online (Sandbox Code Playgroud)
该属性xlSheetVeryHidden意味着它不能通过 UI 可见(只有 VBA 代码可以更改它)。
| 归档时间: |
|
| 查看次数: |
3387 次 |
| 最近记录: |