Hallo
Ich habe ein Add-In erstellt. Das macht auch was ich will. Jetzt möchte ich neu aber auch Ribbons hinzufügen.
So habe ich als Versuch ein Ribbon erstellt, das beim aufrufen vom AddIn erscheinen soll (unter Start -> Options -> Current Database -> RibbonName). Des weiteren ein Ribbon, welches beim öffnen vom Formular zusätzlich erscheint (im Formular unter
RibbonName).
Wenn ich die accda-DB normal öffne (mit Doppelklick), dann macht es auch was ich will (Startup-Ribbon und Form-Ribbon erscheinen und führen auch die gewünschten Operationen aus.
Wenn ich es als AddIn von einer anderen Datenbank aus öffne (Database Tools -> AddIns) dann erscheint das StartRibbon gar nicht. Das Ribbon vom Formular erscheint zwar, aber wenn ich auf den Button klicke meldet sich Access, dass das Makro oder den Callback
nicht aufrufen kann "Microsoft Access cannot run the marcro or Callback function..."
Die Ribbons machen nichts grosses:
<?xml version="1.0"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"><ribbon startFromScratch="false"><tabs><tab id="tab110" label="Main"><group id="grp111" label="Tools"><button id="btnCreateACCDE" imageMso="AccessFormModalDialog" label="CreateACCDE" showImage="true" onAction="subCreateACCDE" size="large"/></group></tab></tabs></ribbon></customUI>
<?xml version="1.0"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"><ribbon startFromScratch="false"><tabs><tab id="tab116" label="Form Operation"><group id="grp117" label="OpenClose"><button id="btnCloseForm" imageMso="GoLeftToRight" label="CloseForm" onAction="subCheckFormFromRibbon" size="large"/></group></tab></tabs></ribbon></customUI>
Die beiden Callbacks bestehen natürlich:
Sub subCreateACCDE(control As IRibbonControl)
DoCmd.OpenForm "frmCreateACCDE"
End Sub
Sub subCheckFormFromRibbon(control As IRibbonControl)
On Error Resume Next
MsgBox Screen.ActiveForm.Name
End Sub
Kann mir jemand helfen, was ich falsch mache? Und Ja, die Referenzen bestehen. Es funktioniert ja auch wenn ich die DB doppelklicke.
Danke und Gruss Thomas