Hi, ich bin gestern in die Ribbon Programmierung eingestiegen und habe ein paar Sachen schon eigenständig gelöst, manche Sachen sind sehr praktisch manches aber auch nicht. Jetzt zu meinen Problem, ich habe ein Ribbon programmiert mit 2 Tabs verschiedenen Groups und mehreren Elementen, die in einer ADP Tabelle gespeichert sind. Alles funktioniert wunderbar und so wie ich es mir wünschen. Das Problem ist, das ich gerade ein umfangreiches Tool entwickle in Access2010 und es sollte daher auch das selbe Design haben, eine Lösung wie in Office 2003 mit der Menüprogrammierung habe ich schon, will ich aber nicht einsetzen.
Ich will gerne bei Start der Anwendung zum Beispiel mein Tab1 aktivieren dabei soll aber Tab2 nicht zu sehen sein. Wenn aus dem Hauptmenü heraus ein neues Formular geöffnet wird, so soll Tab1 ausgeblendet und Tab2 eingeblendet werden. Wie kann ich das machen? Ich habe jetzt sehr lange gesucht und habe auch 2 Sachen gefunden die ich aber noch nicht zum laufen bekommen habe.
1. Activetab
2. Contextualtabs
Als Beispiel mal mein XML Code
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="Hauptmenue" label="Mitarbeiter Management System" visible ="true">
<group id="Hauptmenü" label="Hauptmenü" autoScale="true">
<button id="MainMenue" label="Hauptmenü" size="large" onAction="Actions" getVisible="sichtbarkeit" getImage="Icon"/>
</group>
<group id="Awesenheitsplanung" label="Abwesenheitsplanung" autoScale="true">
<button id="AWP" label="Abwesenheitsplanung" size="large" onAction="Actions" getVisible="sichtbarkeit" imageMso="ViewDisplayInHighContrast"/>
</group>
<group id="Dispo" label="Disposition" autoScale="true">
<button id="DispoHome" label="Disposition" size="large" onAction="Actions" imageMso="PropertySheet"/>
<button id="TErstellen" label="Ticket Anlegen" size="large" onAction="Actions"/>
<button id="BErstellen" label="Bestellung anlegen" size="large" onAction="Actions"/>
</group>
<group id="info" label="Info" autoScale="true">
<button id="Information" label="Information" size="large" onAction="Actions" imageMso="TentativeAcceptInvitation"/>
</group>
</tab>
<tab id="Abwesenheitsplanung" label="Abwesenheitsplanung" visible ="true">
<group id="AMenue" label="Abwesenheitsplanung" autoScale="true">
<button id="AWPMenue" label="Abwesenheitsplanung" size="large" onAction="Actions" getVisible="sichtbarkeit"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Es wäre echt super, wenn ihr mir ein paar Tipps geben könntet. Extra Programme oder Editoren die mir das automatisch erstellen möchte ich nicht verwenden, ich will wissen wie meine Sachen funktionieren.
Hallo,
ich bin dieser Ribbonprogrammiererei nicht unbedingt firm aber ...
<ribbon startFromScratch="false">
sollte hier nicht 'True' angewiesen werden um das Ribbon beim Öffnen des Formulars anzuzeigen?
Vielleicht hilft dir der Download, den du untenstehend verwenden kannst auch weiter...
http://www.access-entwicklerbuch.de/ribbon/download/Beispiele_RibbonProgrammierung.zip (http://www.access-entwicklerbuch.de/ribbon/download/Beispiele_RibbonProgrammierung.zip)
Hallo,
"startFromScratch" sollte in jedem Fall True sein in der fertigen Anwendung. Damit ist allerdings sichergestellt, daß die hauseigenen Ribbons von Access nicht mehr angezeigt werden, eben "Start von Null". So werden nur noch die eigenen Ribbons angezeigt.
Das Anzeigen der passenden Ribbons für ein Formular ist ganz simpel: Man verwendet getrennte Ribbons für das Applikationsribbon und die jeweiligen Formular-Ribbons. Im Formular selbst kann man dann einfach in den Eigenschaften auswählen, welches Ribbon beim Öffnen des Formulars angezeigt werden soll. Eine ausführliche Hilfe zum Thema Ribbons sowie alle möglichen Downloads dazu findest Du hier:
http://www.accessribbon.de/
Gruß
Christian
Hi danke für die Info, habe am Schluss doch noch den Weg genommen und im msdn nachgefragt weil ich keine Lösung gefunden habe. Genau wie hier auch geschrieben wurde werden mehrere XML Dateien angelegt und die dann in den Formulareigenschaften angesprochen oder per VBA mit Me.Ribbon = "Ribbonname" angesprochen.