首先,我很高兴加入社区。我希望我们能经常交换意见。我是法国人,请原谅我在句子中的错误。
我试图解释我的问题:
我有一个“好”的想法,即使用我的 Excel 文件的 Backstage 创建一个小型仪表板。它工作得很好。
当此文件与另一个文件同时在 Excel 的同一实例中打开时,就会出现问题。第二个文件试图访问我的工作簿的函数“Backstage_OnShow”和“Backstage_OnHide”,所以我有一条消息“无法运行宏'Backstage_OnShow'(或'Backstage_OnHide')。宏可能在此不可用工作簿...” <-这是对法语错误消息的翻译。
我该如何做才能没有此消息,或者确保后台特定于我的文件而不是 Excel 实例?
我用我的代码片段展示。会更清楚。
在我的 XML 中,我有这个:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad ="Ribbon_Load">
<ribbon startFromScratch="false"/>
<backstage onShow="Backstage_onShow" onHide="Backstage_onHide">
...
</backstage>
</customUI>
在我的 Excel 文件中,我有这个:
Public Sub Ribbon_Load(ribbon As IRibbonUI)
Set Ruban = ribbon
End Sub
Public Sub Backstage_onShow(ByVal contextObject As Object)
'Rafraichissement du ruban
Ruban.Invalidate
End Sub
Public Sub Backstage_onHide(ByVal contextObject As Object)
End Sub
所有这些都包含在一个Excel文件中,这是正常的。在 Excel 2010 中,Excel 文件默认在同一个实例中打开,这并不困扰我,但是,当一个“普通”文件与我自定义的后台文件在同一个实例中打开时,普通文件会尝试,我不知道什么奇迹,访问功能 Backstage_onShow Backstage_onHide 并在我显示其后台时立即访问。然而,这个文件甚至不应该知道这些函数的存在,因为他们没有报告给他。
先感谢您。
真挚地,
帕特里斯。
PS:如果您想显示我的文件,这是一个链接。这当然是一个安全的代码片段!