Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba PowerPoint同时显示两个MsgBox_Vba_Ribbon_Powerpoint - Fatal编程技术网

Vba PowerPoint同时显示两个MsgBox

Vba PowerPoint同时显示两个MsgBox,vba,ribbon,powerpoint,Vba,Ribbon,Powerpoint,从开发人员加载加载项时的奇怪行为|加载项功能区 观察到外接程序的Auto_Open过程首先触发,但当显示该消息框时(在正常情况下,应该暂停执行等待用户输入——解除MsgBox),功能区的onLoad事件也会触发(显然是在单击第一个消息框中的任意位置时),同时显示另一个消息框 您是否见过同时显示两个消息框?这些不是无模式显示的用户表单,而是简单的MsgBox提示 什么可以解释这种行为?有什么可以预防呢 奇怪的是,一旦加载了加载项,这些事件就以我所认为的“正常”顺序来触发:首先是AutoLoad,

从开发人员加载加载项时的奇怪行为|加载项功能区

观察到外接程序的Auto_Open过程首先触发,但当显示该消息框时(在正常情况下,应该暂停执行等待用户输入——解除MsgBox),功能区的onLoad事件也会触发(显然是在单击第一个消息框中的任意位置时),同时显示另一个消息框

您是否见过同时显示两个消息框?这些不是无模式显示的用户表单,而是简单的MsgBox提示

什么可以解释这种行为?有什么可以预防呢

奇怪的是,一旦加载了加载项,这些事件就以我所认为的“正常”顺序来触发:首先是AutoLoad,然后是OnLoad,但是只有在您删除第一个MSGBOX。 功能区加载过程:

'This procedure hooks to the ChartBuilder_PPT Add-in menu
Option Private Module
Option Explicit
Private rib As IRibbonUI
''Callback for customUI.onLoad
Sub RibbonOnLoad(ribbon As IRibbonUI)
    MsgBox "RibbonOnLoad"
    Set rib = ribbon
    'Call UPDATE(rib)
End Sub
在另一个模块中

Option Explicit
Const AddInName As String = "ChartBuilder_PPT.ppam"
Const ShortName As String = "ChartBuilder_PPT"
Sub Auto_Open()
    MsgBox "Auto_Open"
    Call UnloadCB
End Sub
Sub Auto_Close()
    Call UnloadCB
End Sub
Sub UnloadCB()

If AddInExists Then
    Application.AddIns(ShortName).Loaded = msoFalse
Else

End If
Function AddInExists() As Boolean
Dim a As AddIn
    For Each a In Application.AddIns
        If a.Name = ShortName Then
            AddInExists = True
            a.AutoLoad = msoCTrue
            Exit For
        End If
    Next
End Function

我很好奇这是否会迫使它等待:
returned=MsgBox(“Auto_Open”,vbSystemModal)
也许加载项加载程序正在触发一个单独的线程,这会阻止它。@PortlandRunner出于好奇,我可能会尝试这样做。我觉得它与缎带有关,而不是与messagebox本身有关。这对我来说甚至不是一个“真正”的问题,我只是在测试确定
onLoad
Auto_Open
的哪个事件首先触发时才观察到它(我需要另一个复杂的原因…)。