强制启动宏

简介: 接着昨天,为了用户的需求,写好了VBA代码,但问题又来了,如果用户禁用宏怎么办,就达不到想要的效果了。那么怎么才能强制启动宏文件呢?     测试了在关天,代码如下: Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.

    接着昨天,为了用户的需求,写好了VBA代码,但问题又来了,如果用户禁用宏怎么办,就达不到想要的效果了。那么怎么才能强制启动宏文件呢?

    测试了在关天,代码如下:

  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2. ThisWorkbook.IsAddin = True
  3. End Sub
  4.  
  5. Private Sub Workbook_Open()
  6. ThisWorkbook.IsAddin = False
  7. End Sub

    这里比较关键的有两个事件,一个是工作簿打开时执行事件,另一个工作簿关闭时执行事件;比较关键的属性是工作簿的IsAddIn事件,它的副作用是如果工作簿打开后进行了更改,不会提示保存工作簿。

目录
相关文章
|
1天前
|
C语言
内核源码中遇到不会解析的宏怎么办?
内核源码中遇到不会解析的宏怎么办?
205 1
|
9月前
|
C++
C++宏 #与##的区别
C++宏 #与##的区别
36 0
|
10月前
驱动代码使用Makefile的宏
驱动代码使用Makefile的宏
52 0
|
11月前
Qt通过QProcess启动进程并传递命令行参数
Qt通过QProcess启动进程并传递命令行参数
483 0
|
11月前
|
存储 安全 编译器
【为什么】C++中的宏
【为什么】C++中的宏
|
C语言
gcc编译时传递宏定义
gcc编译时传递宏定义
210 0
|
存储 编译器 API
Win32汇编:过程与宏调用
在计算机领域,堆栈是一个不容忽视的概念,堆栈是一种`后进先出(LIFO,Last-In,First-Out)`的数据结构,这是因为最后压入堆栈的值总是最先被取出,而新数值在执行PUSH压栈时总是被加到堆栈的最顶端,数据也总是从堆栈的最顶端被取出,堆栈是个`特殊的存储区`,主要功能是暂时存放数据和地址,通常用来保护断点和现场.
90 0
C++编译提示宏重定义了,怎么办?
C++编译提示宏重定义了,怎么办?
866 0