我在OS X Yosemite(10.10.5)上使用Excel for Mac 2011(版本14.5.9)。如果我从Dock启动Excel,它会弹出"Excel工作簿库"对话框。如果我通过在Finder中双击现有工作簿来启动Excel,Excel会按预期打开工作簿。
但是,如果我安装一个名为"hello_world.xlam"的简单外接程序,这些行为就会改变。该外接程序只有一个标准VBA模块("Module1"),只有以下宏:
Sub Auto_Open()
MsgBox "Hello World"
End Sub
无论Excel是如何启动的,都会显示消息框。然而,Excel似乎忘记了它默认的启动行为。如果从Dock启动Excel,则不会显示"Excel工作簿库"对话框。这是个小问题。更大的问题是,如果我通过在Finder中双击工作簿来启动Excel,Excel在关闭消息框后不会打开工作簿。
如果我禁用了此加载项(通过进入"工具"-->"加载项",然后取消选中该加载项),则会恢复通常的启动行为。
有什么解决办法吗?
使用事件过程发现了解决方案。从hello_world加载项中删除了Module1。将此过程添加到外接程序的ThisWorkbook代码模块中:
Private Sub Workbook_Open()
MsgBox "Hello World"
End Sub
Excel启动时会出现消息框,并且其启动行为保持不变。