我有一个excel表,由多个用户通过网络使用,该书有一个宏,应该在书打开后立即运行。我的问题是有些用户禁用宏,因此当他们打开书时宏不会运行。我知道禁用宏是一个很好的安全功能,但我真的想为这本书启用所有宏,无论用户的设置如何。
无论用户设置是什么,有没有办法启用宏?
答案 0 :(得分:2)
在我工作的公司里,我遇到过这样的情况。我们有一个系统,它使用Excel工作表将系列中的数字作为设计工作的项目编号。用户一直在互相抓住,所以我写了一个宏来帮助减少问题,但有些用户没有启用宏,所以它引起了问题。
你不能启用/禁用可能不好的宏,但你可以给用户一个微调。
really-hidden
,当您启用宏时,unhide
工作表,并隐藏说明表。如果他们已经启用了宏,他们将无法看到解释页面。
以下是我使用的代码:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Step 1: Declare your variables
Dim ws As Worksheet
Dim result As Variant
'Step 2: Unhide the Starting Sheet
Sheets("START").Visible = xlSheetVisible
'Step 3: Start looping through all worksheets
For Each ws In ThisWorkbook.Worksheets
'Step 4: Check each worksheet name
If ws.Name <> "START" Then
'Step 5: Hide the sheet
ws.Visible = xlVeryHidden
End If
'Step 6: Loop to next worksheet
Next ws
'Step 7: Save the workbook
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
'Step 1: Declare your variables
Dim ws As Worksheet
'Step 2: Start looping through all worksheets
For Each ws In ThisWorkbook.Worksheets
'Step 3: Unhide All Worksheets
ws.Visible = xlSheetVisible
'Step 4: Loop to next worksheet
Next ws
'Step 5: Hide the Start Sheet
Sheets("START").Visible = xlVeryHidden
End Sub