【发布时间】:2020-10-18 13:36:33
【问题描述】:
我开发了一个 excel 插件,其中包含具有不同功能的附加按钮。我的初始代码基于“Ron de Bruin Excel Automation”套件,效果很好。 (我为此感谢他)。最近我添加了另一个组和一个按钮,它在我的 excel(365 Excel 版本 2009)上运行良好,但在其他具有相同 Excel 版本的机器上却失败了。错误是,它找不到任何回调。我消除了所有回调,但只有一个必不可少的“onAction”,但错误仍然存在。 任何帮助。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="CustomTab" label="שמאות מקרקעין" insertAfterMso="TabDeveloper">
<group id="GroupA" label="מידע נדלן רשות המיסים">
<button id="aButton01" label="יבא נתונים" onAction="RunMacro" imageMso="GetExternalDataImportClassic" size="large" />
<button id="aButton02" label="מזג גיליונות" onAction="RunMacro" imageMso="ReviewCombineRevisions" size="large" />
<button id="aButton03" label="מיין ומחק עמודות" onAction="RunMacro" imageMso="CreateQueryFromWizard" size="large" />
<button id="aButton04" label="שווי מר" onAction="RunMacro" imageMso="ConditionalFormattingAboveAverage" size="large" />
<button id="aButton05" label="התאמת משקל" onAction="RunMacro" imageMso="PageScaleToFitScale" size="large" />
<button id="aButton06" label="הכנה לדוח שומה" onAction="RunMacro" imageMso="MacroDefault" size="large" />
<button id="aButton07" label="תמונת הנכס" onAction="RunMacro" imageMso="PictureReflectionGallery" size="large" />
<button id="aButton08" label="וויסות הורדה אפשרויות" onAction="RunMacro" imageMso="StartTimer" size="large" />
<button id="aButton09" label="מחיר למשתכן" onAction="RunMacro" imageMso="TentativeAcceptInvitation" size="large" />
</group>
<group id="GroupB" label="תכנה">
<button id="bButton01" label="הוראות שימוש" onAction="RunMacro" imageMso="Help" size="large" />
<button id="bButton02" label="הזמנת רישיון" onAction="RunMacro" imageMso="GroupOmsInsert" size="large" />
<button id="bButton03" label="עידכון גירסה" onAction="RunMacro" imageMso="FillUp" size="large" />
<button id="bButton04" label="נתוני משתמש" onAction="RunMacro" imageMso="ArrangeByAccount" size="large" />
</group>
<group id="GroupC" label="נסח טאבו">
<button id="cButton01" label="PDF" onAction="RunMacro" imageMso="FileEmailAsPdfEmailAttachment" size="large" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
{
Sub RunMacro(control As IRibbonControl)
'PURPOSE: Tell each button which macro subroutine to run when clicked
Select Case control.ID
Case "aButton01": Application.Run "FromRibbon"
Case "aButton02": Application.Run "MergeSheetsmacro"
Case "aButton03": Application.Run "CleanColumns"
Case "aButton04": Application.Run "AddAverage"
Case "aButton05": Application.Run "Weight"
Case "aButton06": Application.Run "PrepareReport"
Case "aButton07": Application.Run "ActivateGoogleView"
Case "aButton08": Application.Run "GrabRegul"
Case "aButton09": Application.Run "MechirLamishtaken"
Case "bButton01": Application.Run "HelpForm"
Case "bButton02": Application.Run "LicenseRequest"
Case "bButton03": Application.Run "UpgradeVersion"
Case "bButton04": Application.Run "PersonalData"
Case "cButton01": Application.Run "ConvertPDF2Excel"
End Select
End Sub
}
enter code here
【问题讨论】:
-
你能显示
onLoad代码吗?为什么<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">中没有onLoad -
工作了好久没有,求指点如何添加onLoad。
-
您能否解释一下 omLoad 回调的目的是什么。我认为没有明显的原因。我不想更改任何按钮。
-
也许还有另一种与功能区“对话”的方式,但 onLoad 在功能区加载时将功能区参数传递给回调过程。这使关联代码能够存储对功能区的引用以供以后使用,并允许您动态更新功能区。
-
好的,我测试了您的 XML 代码并在我的测试文件中添加了一些 VBA 代码。这对我有用。因此,
onLoad仅在您想要使控件无效等情况下才需要。
标签: excel vba callback office-addins ribbon