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

时间:2015-01-08 21:34:53

标签: vba ms-office ribbon office-2013 outlook-2013

%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中取出参数,那么当我点击按钮时它会运行,但不会反过来。

感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

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

在MSDN中的以下系列文章中深入介绍了功能区UI: