Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: control As IRibbonControl

control As IRibbonControl
20.12.2008 14:32:00
Sonnenpeter
Hallo,
ich bastele mir meine selbstgestrickten Symbolleisten für Office 2007 um.
Dazu muss ich ja control As IRibbonControl eintragen

Sub MeinMakro (control As IRibbonControl)
Tue dies, tue das
End Sub


Was muss ich noch eintragen um die Makors auch mit F8 oder aus der Anwendung heraus aktivieren zu können.
Ist es gegebenenfalls erforderlich Zwischenmakros zu schreiben?


Sub MeinMakro ()
Tue dies, tue das
End Sub



Sub MeinRibbonMakro ( control As IRibbonControl)
MeinMakro
End Sub


Gruß Sonnenpeter

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: control As IRibbonControl
20.12.2008 15:00:00
mumpel
Hallo!
Das geht nicht. Makros für die MuFu können nicht über den Makrodialog oder aus anderen Makros heraus aufgerufen werden. Mach es doch einfach umgekehrt.
Sub MuFu(control As IRibbonControl)
Call MeinMakro1
End Sub
Sub MeinMakro1()
MsgBox "Test"
End Sub

Code eingefügt mit VBA in HTML 2.0size>
Eine andere Möglichkeit gibt es nicht.
Gruß, René

Anzeige
AW: control As IRibbonControl
20.12.2008 15:46:00
Sonnenpeter
Danke für die Info René
Gruß SP
Frage zum Prozedurrahmen
20.12.2008 16:23:00
Original
Hi,
müssen die control nicht ByVal deklariert werden?
mfg Kurt
AW: Frage zum Prozedurrahmen
20.12.2008 16:44:01
mumpel
Hallo Kurt!
Nein, das müssen und dürfen sie nicht. Nachfolgende Attribute werden ByRef, Integer oder String. Es geht hier um RibbonX (Multifunktionsleiste).

Sub test(control as IRibbonControl, ByRef Text)
Sub test(control as IRibbonControl, index As Integer, ByRef returnedVal)
Sub test(control As IRibbonControl, id As String, index As Integer)


Gruß, René

Anzeige
Danke dir oT
20.12.2008 17:06:00
Original
oT
;
Anzeige
Anzeige

Infobox / Tutorial

Verwendung von control As IRibbonControl in VBA


Schritt-für-Schritt-Anleitung

Um ein Makro mit control As IRibbonControl zu erstellen, gehe wie folgt vor:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Erstelle ein neues Modul oder öffne ein bestehendes Modul.

  3. Definiere dein Makro mit der Variablen control As IRibbonControl:

    Sub MeinMakro(control As IRibbonControl)
       ' Füge hier deinen Code ein
       MsgBox "Makro ausgeführt!"
    End Sub
  4. Rufe das Makro von der Multifunktionsleiste auf. Verwende dazu die Funktion MeinRibbonMakro:

    Sub MeinRibbonMakro(control As IRibbonControl)
       Call MeinMakro(control)
    End Sub
  5. Testen: Füge das Makro einer Schaltfläche in deiner Symbolleiste hinzu und teste die Ausführung.


Häufige Fehler und Lösungen

Fehler 1: Makro nicht aufrufbar

  • Lösung: Stelle sicher, dass das Makro korrekt deklariert wurde und keine Syntaxfehler enthält. Makros mit control As IRibbonControl können nicht direkt über den Makrodialog aufgerufen werden.

Fehler 2: ByVal oder ByRef Deklaration

  • Lösung: Es ist nicht notwendig, control als ByVal zu deklarieren. Verwende einfach control As IRibbonControl, um sicherzustellen, dass das Makro korrekt funktioniert.

Alternative Methoden

Eine Möglichkeit, die Funktionalität von IRibbonControl zu erweitern, ist die Verwendung von sogenannten Zwischenmakros. Diese Makros können den Aufruf von MeinMakro erleichtern:

Sub Zwischenmakro(control As IRibbonControl)
    ' Hier könntest du zusätzliche Logik hinzufügen
    Call MeinMakro(control)
End Sub

Diese Methode ermöglicht es, verschiedene Kontrollmechanismen zu implementieren, bevor das Hauptmakro ausgeführt wird.


Praktische Beispiele

Hier ein einfaches Beispiel, wie du control As IRibbonControl verwenden kannst, um Benutzereingaben zu verarbeiten:

Sub MeinMakro(control As IRibbonControl)
    Dim userResponse As String
    userResponse = InputBox("Gib etwas ein:")
    MsgBox "Du hast eingegeben: " & userResponse
End Sub

Füge dieses Makro deiner Symbolleiste hinzu, um Benutzereingaben zu sammeln und anzuzeigen.


Tipps für Profis

  • Fehlerbehandlung: Integriere Fehlerbehandlungsroutinen in deine Makros, um unerwartete Ausgaben zu vermeiden.

  • Dokumentation: Dokumentiere deine Makros gut, insbesondere wenn du IRibbonControl verwendest, um die Wartbarkeit zu erhöhen.

  • Performance: Vermeide überflüssige Berechnungen innerhalb deiner Makros, um die Ausführung zu beschleunigen.


FAQ: Häufige Fragen

1. Kann ich IRibbonControl in Excel-Versionen vor 2007 verwenden? Nein, IRibbonControl ist ein Feature, das erst mit Excel 2007 eingeführt wurde.

2. Was mache ich, wenn mein Makro nicht funktioniert? Überprüfe deine Syntax und stelle sicher, dass das Makro im richtigen Kontext aufgerufen wird. Nutze Debugging-Tools, um Fehler zu finden.

3. Kann ich mehrere Parameter in ein Makro mit IRibbonControl einfügen? Ja, du kannst mehrere Parameter verwenden, jedoch sollte control As IRibbonControl immer der erste Parameter sein.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige