我能够使用Excel 2013和2016重现奇怪的行为(在Excel 2010中无法重现)。它同时出现在32位和64位版本中。
如果我打开了现有的XLSM文件并第一次打开另一个XLSM文件,则必须“启用编辑”以删除受保护的视图,然后在编辑栏下方的栏中“启用宏”,然后将其打开精细。 (视频00:00到00:15)
但是,如果我打开了VB编辑器并打开了相同的文件(名称稍有不同,因此会提示您启用编辑),则单击“启用编辑”按钮,然后在窗口中弹出“启用宏”按钮。对话框(不是位于编辑栏的正下方),它既可以在“保护视图”中打开文件,也可以在不受保护的视图中打开另一个副本。我的onOpen代码出错,因为它正在尝试针对“受保护的视图”文件运行它。 (视频00:23到00:59,请注意在00:45打开了同一文件的2个实例)。
如果我关闭VBE并打开相同的文件(名称稍有不同),则会在编辑栏的右侧获得“启用内容”按钮和“启用宏”按钮,并且可以正常打开。 (视频01:01至01:09)。
为什么打开VBE会导致此问题?有谁能解释正在发生的事情或解决该问题的方法?这不是一个大问题,但很烦人,当我打开最初处于受保护视图的新文件时,我必须保持VBE关闭。
这是我上面引用的视频。 http://www.youtube.com/watch?v=HieGEAvkusg&hd=1
请注意:我不是在解决受保护的视图或使用受保护的视图中的文件的问题。我想知道为什么打开同一文件的两个实例(一个是“保护视图”,另一个没有)。