Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel 2007 Befehl in VBA ausführen

Excel 2007 Befehl in VBA ausführen
09.07.2007 11:01:00
Michael
Hallo,
Ich möchte in einem Makro einen Excel Befehl ausführen. Er liegt im Ribbon bei Einfügen/Formen/Freihandform.
Bis Excel 2003 habe ich den Befehl so angesprochen:

Sub testribbon()
Application.CommandBars("Drawing").FindControl(, 200, , , True).Execute
End Sub


Das geht nätürlich nicht mehr! Aber die VBA Hilfe schweigt sich zu dem Thema aus. Das einzige Beipiel , das ich in der Hilfe gefunden habe, funktioniert nicht!


Sub testribbon()
Application.CommandBars.ExecuteMso (“Copy”)
End Sub


Es bricht mit dem Fehler ab - Fehler beim Kompilieren: Variable nicht definiert.
Bei der List der Ribben Cotrol Ids habe ich für die Freihandform gefunden:

  • Control Name Control Type Tab Set Name Tab Name Group Name Ordering Policy ID
    ShapeFreeform toggleButton None (Not in the Ribbon) None (Not in the Ribbon) 703 200

  • Wie spreche ich denn in Excel 2007 die Ribbon Befehle an?
    Danke
    Michael

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Excel 2007 Befehl in VBA ausführen
    09.07.2007 14:26:00
    mumpel
    Hallo!
    Das geht nicht. Die Mutlifunktionsleiste beruht auf XML und kann aus VBA heraus nicht angesprochen werden. Du musst Dir also ein Makro basteln, welches Deine gewünschte Operation direkt auslöst.
    Gruß, Rene

    AW: Excel 2007 Befehl in VBA ausführen
    09.07.2007 15:06:21
    Michael
    Hallo Rene,
    Ich will ja nicht die Multifunktionsleite verändern, sondern nur auf normale Excel Befehle zurückgreifen. In meinem Fall ist das der Befehl "Freihandform".
    Soviel ich weiß gibt es nun 1700 Controls, die alle Excel Befehl zugänglich machen.
    Download Office 2007 RTM Control ID List (Excel 2007 Format)
    http://officeblogs.net/UI/RibbonX-ControlIDs.zip
    Nur funktioniert die in er Hilfe publizierte Syntax bei mir nicht:
    Application.CommandBars.ExecuteMso (“Copy”)
    Wie könnte man sonst mit Benutzer Eingabe (Maus) eine Linie in Excel zeichnen und dann per VBA weiterverarbeiten? Das war unter Excel 2003 relativ einfach und muß doch auch in Excel 2007 möglich sein
    Gruß
    Michael

    Anzeige
    AW: Excel 2007 Befehl in VBA ausführen
    09.07.2007 15:33:56
    mumpel
    Hab den Fehler gefunden. Das Makro ist falsch. Du musst Copy in Anführungszeichen setzen, nicht die jetzigen "Schrägstriche".
    
    Sub testribbon()
    Application.CommandBars.ExecuteMso ("Copy")
    End Sub
    


    Bei mir funktioniert es fehlerfrei.

    AW: Excel 2007 Befehl in VBA ausführen
    09.07.2007 19:35:27
    Michael
    Hallo Rene,
    Super! Jetzt funktionieren die meisten auch bei mir. ("ShapeFreeform") reagiert noch seltsam. Der Cursor ändert sich und die Stauszeile fägt auch nach der Eingabe, aber beim Mausklick passiert nichts. Habe aber ein Workaround gefunden.
    Danke Michael

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige