![]()
第一个示例如果禁用了宏,则关闭Excel文件
I. 示例说明:
打开包含宏的文件时,如果“禁用宏”并打开文件,则所有已编辑的VBA程序均将无效. 当用户打开Excel文件并禁用宏时禁用宏 登录,如何使文件自动关闭?本示例是调用Excel4.0(旧版本的Excel)的宏命令来解决此问题. 因为“禁用宏”功能不能禁用4.0版本的宏.
设置完成后,当用户打开文件并单击“禁用宏”按钮时,将弹出图1所示的框. 单击“确定”按钮以关闭提示框时,文件将自动关闭.

第二,设置使用步骤和方法:
1. 打开包含宏的文件或创建一个新的Excel文件. 然后在VBE编辑器中添加一个模块. 并编写以下代码:
函数MY()

结束功能
添加后的效果如图2所示.

2. 右键单击任何工作表标签上的单元格,然后执行[Insert]命令以打开图3所示的[Insert]对话框,

在公共选项卡中选择“ MS Excel4.0宏表”项,然后单击“确定”按钮以在当前工作簿中使用默认名称Macro1创建一个新的“宏表”. 如图4所示.

2. 在宏表的以下单元格中输入公式:

单元格A2: =错误(假)
单元格A3: = RUN(“ MY”)
单元格A4: = IF(ISERROR($ A $ 3))
A5单元格: =转到($ A $ 11)
单元格A6: = END.IF()
单元格A7: =错误(真)
单元格A8: = RETURN()
单元格A11: =警报(“抱歉!由于禁用了宏,该文件将自动关闭!”,3)

单元格A12: = FILE.CLOSE(错误)
单元格A13: = RETURN()
添加后的效果如图5所示.

3. 依次选择工作簿中的其他工作表,然后执行[插入] / [名称] / [定义]命令以打开[定义名称]对话框. 在“当前工作簿中的名称”框中,输入: 工作表名称+ Auto_Activate. 打开Sheet1工作表中的[Define Name]对话框禁用宏 登录,如图6所示. 定义的名称为: Sheet1!自动激活. 然后在参考位置文本框中输入: = Macro1 !! $ A $ 2.

注意: 当禁用宏并打开具有设置名称的工作表时,文件将自动关闭. 值得澄清的是,为大量工作表一一设置非常麻烦. 因此,您可以在此时为其中之一设置一个名称,但要确保“打开工作簿时,具有设置名称的工作表必须处于选定状态”. 为了达到此效果,建议在关闭文件之前将除“定义名称工作表”之外的所有工作表都设置为隐藏.
4. 为每个工作表定义一个名称后,保存并关闭文件. 整个操作完成后,程序结束.
三,代码点分析
由于宏表函数的使用和操作更为复杂,因此此处将不对其进行详细描述. 读者只需按照上述步骤即可实现“禁用宏并关闭Excel文件”的功能. 读者可以在用宏命令编写的文件中执行上述操作,或者可以创建一个新文件来完成上述步骤,然后编写自己的程序代码并编辑其他工作表和单元格.
Sub AddName()'在“工作表”中插入“自动激活”名称
对于i = 2 To Sheets.Count'第一个工作表是宏表,因此从第二个工作表开始
Sheets(i).Names.Add名称: =“ Auto_Activate”,RefersToR1C1: =“ = Macro!R1C1”'请注意,代码的第一行是“ Sheets(I).Names”而不是“ ThisWorkbook. Names”. ”,仅插入属于“工作表”的名称,而不是“工作簿”中的名称.
表格(i). 名称(“自动激活”). Visible = False'隐藏名称,如果您不想隐藏名称,请不要使用此代码.
下一个我
结束子
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-218619-1.html
又不是啥大事