Outlook 2013 - VBA - 功能区 - onLoad 未触发

Outlook 2013 - VBA - Ribbon - onLoad not firing

%appdata%\Microsoft\Office\olkapptitem.officeUI 我有:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="DoIt">
    <ribbon startFromScratch="false">
        <tabs>
            <tab idMso="TabMail">
                <group id="group1" label="Hazaa!">
                    <button id="one" onAction="DoIt2" label="hi" visible="true"/>
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

在 Outlook 的 VBA 编辑器中,我有一个名为 Module1 的模块,其中包含:

Option Explicit

Sub DoIt(ribbon As IRibbonUI)
    MsgBox "hi"
End Sub

Sub DoIt2(control As IRibbonControl)
    MsgBox "bye"
End Sub

但是,DoItDoIt2 都不会运行。如果我从 DoIt2 中取出参数,那么当我点击按钮时它会运行,而不是相反。

感谢任何帮助。

您无法在 VBA 中定义功能区回调。如果您想使用回调自定义功能区 Ui,则需要开发一个插件。与任何其他 Office 应用程序不同,Outlook 不支持使用 VBA.

自定义功能区 UI

功能区 UI 在 MSDN 中的以下系列文章中有深入描述: