我有一个 Excel 插件,保存在 %appdata%\Microsoft\Addins 中的 .xla 文件中。在主题版本的 Excel 中,它在插件列表中被选中。此插件所做的一件事是在 ThisWorkbook 的 Workbook_Open 子目录中创建一个下拉菜单。但菜单并未创建,功能区上也没有插件选项卡。没有错误消息。
这在 Excel 2010 和 2007 中运行良好(至少如此),在我删除它之前,在该系统预装的 32 位 Excel 2013 中运行良好。真正令人抓狂的是,如果我删除这个插件并打开同一个 .xla 文件,无论是通过双击还是使用 Excel 中的“打开”命令,菜单都会按预期显示。如果我打开源 .xls 文件,我也会得到相同的行为 - 一切都正常。我也尝试过保存到 .xlam 文件而不是 .xla 文件,但得到的结果同样糟糕。
有任何想法吗?
答案1
据我所知,如果您的插件是由较旧的框架(例如 .net framework 2)创建的,它将无法在 Excel 2013 64 位上运行。
答案2
您需要与创建该插件的人核实,看它是否支持 64 位 Office。MS 自己建议大多数人使用 32 位 Office,主要是因为它与第三方插件兼容。 http://office.microsoft.com/en-us/excel-help/choose-the-32-bit-or-64-bit-version-of-office-HA010369476.aspx。
答案3
我刚刚遇到了类似的问题,启动时加载的 Excel xlam 文件(XLStartup 目录)会创建自定义菜单(使用 CommandBarControls)。xlam 在 Excel 2007 和 2010 中运行良好,直到最近的 2013 年。如果在启动后手动加载,xlam 代码将创建自定义菜单。
通过逐步执行代码和设置测试点在启动期间进行调试表明代码正在正确执行且没有错误,但未创建菜单 - 语句被忽略。似乎在尝试创建自定义菜单时,Excel 尚未加载框架(即功能区),因此未创建菜单。
如果我将 xlam 转换为 xlsm 文件并将其放在 XLStartup 目录中,则将创建自定义菜单。但是,这会使 xlsm 文件对用户可见(因此我更喜欢使用 xlam 格式)。
答案4
我找到了一个解决方法。禁用分析工具库。重新启动 Excel,现在所有加载项都将加载。不知道为什么。