VBA中Workbook_Activate和Workbook_Deactivate时遇到的问题

问题描述如下:

1、打开宏命令所在的工作簿,假如为文件A,A工作簿有两个宏,分别为Workbook_Activate时Add自定义CommandBar,和Workbook_Deactivate时delete自定义CommandBar。

2、再打开一个文件B工作簿;再打开一个文件C工作簿(文件B和C没有宏。一共至少打开三个工作簿,问题才能出现)。

3、从A切换到B,自定义CommandBar消失; 或者从A直接切换到C,自定义CommandBar也会消失。表明结果正常。

4、从A直接切换到C,并且关闭C工作簿文件,这时B成为活动工作簿,但是B工作簿的工具栏菜单上出现了自定义CommandBar。

====问题出现了,按照最初设计的本意,A不是活动工作簿时自定义CommandBar是不会出现的,但这时B工作簿工具栏出现自定义CommandBar,这是为啥。百思不得其解。最后没办法,只好在Workbook_Activate的Add自定义CommandBar中,加了一个判断,If ActiveWorkbook.Name=ThisWorkbook.Name,然后问题得到解决。

以上红字描述的问题,希望得到高手解答。

广东省
浏览 1465
收藏
1
分享
1 +1
+1
全部评论