Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 仅当以前未运行过宏时才运行宏?_Vba_Excel - Fatal编程技术网

Vba 仅当以前未运行过宏时才运行宏?

Vba 仅当以前未运行过宏时才运行宏?,vba,excel,Vba,Excel,我正在创建一个Excel文件,其中有一个单元格列表,其中包含各种项目的说明,每个单元格都有一个超链接。我需要通过电子邮件将此信息发送给一位可能有或没有VBA经验或时间的同事,因此我编写了一个宏来重置超链接 是否有办法仅在文件开头未打开宏时才运行该宏?我将创建一个隐藏页面,您可以在其中存储“状态”变量。在该工作表上,您可以存储该人员之前是否运行过宏。因此,在单元格A1中可以有一个数字0,它将指示宏已运行的次数。每次运行时更新该编号。只需确保在发送给此人之前手动重置该工作表即可。另外,请确保该人员不

我正在创建一个Excel文件,其中有一个单元格列表,其中包含各种项目的说明,每个单元格都有一个超链接。我需要通过电子邮件将此信息发送给一位可能有或没有VBA经验或时间的同事,因此我编写了一个宏来重置超链接


是否有办法仅在文件开头未打开宏时才运行该宏?

我将创建一个隐藏页面,您可以在其中存储“状态”变量。在该工作表上,您可以存储该人员之前是否运行过宏。因此,在单元格A1中可以有一个数字0,它将指示宏已运行的次数。每次运行时更新该编号。只需确保在发送给此人之前手动重置该工作表即可。另外,请确保该人员不会将工作表发送给其他必须在第一次以某种方式运行工作表的人员。

为什么不在发送工作表之前,先运行宏重置工作簿上的链接。
其他任何操作都假定他将设置宏安全性,并将启用宏运行,但他可能不这样做。

您尝试了什么?下面的答案有帮助吗?