不pipe本地用户设置如何运行macros

我有一个由多个用户通过networking使用的Excel工作表,本书有一个macros,只要书被打开就应该运行。 我的问题是,一些用户禁用macros,所以当他们打开书,macros不运行。 我知道,禁用macros是一个很好的安全function,但是我真的想为本书启用所有的macros,而不pipe用户的设置如何。

有没有一种方法来启用macros而不pipe用户设置是什么?

在我工作的公司里,我遇到过这样的情况。 我们有一个系统,使用excel表单把系列号码作为devise工作的项目号码。 用户不断抓住对方的#,所以我写了一个macros来帮助减less这个问题,但有些用户没有启用macros,所以引发了问题。

您不能启用/禁用macros,这将是不好的,但你可以给用户一个微调。

  1. 首先,build立一个工作表,向用户解释如何启用macros(小的免责声明),并解释确保他们只启用已知作者的macros的重要性。
  2. 接下来,使该表格成为唯一可见的表格。
  3. 使所有其他表单really-hidden ,当启用macros时, unhide表单,并隐藏说明表。

如果他们已经启用了macros,他们将永远不会看到解释页面。

这是我使用的代码:

 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