Laden...

Auslesen von Excel-Menü via C# bringt mir alte Menüpunkte, nicht die der neueren Excel-Versionen

Erstellt von One_Piece vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.917 Views
O
One_Piece Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren
Auslesen von Excel-Menü via C# bringt mir alte Menüpunkte, nicht die der neueren Excel-Versionen

Hallo,

ich versuche von Visual Studio aus mit C# die Namen der Menüs von Excel in der oberen Leiste anzuzeigen. ich gelange das aber komisch daran ist, dass es die Menüleiste von 2003 und ältere Versionen nur angezeigt wird, obwohl ich Excel 2013 auf meinem Rechner habe.

Kann jemand mir bitte dabei helfen? Danke

Liebe Grüße

Khalaf

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

ich verstehe leider dein Anliegen nicht.

Kannst du das genauer erklären?

LG

O
One_Piece Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Hi,

Was ich damit meinte, dass ich Excel 2013 über Visual Studio starte und die aktive Menüleiste anzeigen will, aber es zeigt mir nur die ältere Version von Excel.

Anhand des eingefügten Bild ist zusehen, was ich meine.
Auf der linken Seite was das Programm rauswirft und der rechten Seite die aktuelle Menüleiste

Viele Grüße
Khalaf

2.207 Beiträge seit 2011
vor 7 Jahren

Hallo One_Piece,

nur (für mich) und andere eventuelle Helfer:

Du liest das Excel-Menü via C# aus und bekommst statt dem Menü in den neueren Excel-Versionen die Menüpunkte älterer Versionen angezeigt?

Beschreibt das dein Problem?

Gruss

Coffeebean

O
One_Piece Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Hallo,

Ja genau, das ist mein Problem.

Ich weiß es nicht, warum

Viele Grüße

Khalaf

2.207 Beiträge seit 2011
vor 7 Jahren

Hallo One_Piece,

boah, der war hart zu knacken 😉. Ich hab den Titel mal angepasst. Bitte setz dich mal hin und überlege dir einen gescheiten Titel, bevor du den Thread erstellst. Das "Problem" ist jetzt, dass der Thread nicht mehr im Abteil" Threads ohne Antwort" vorkommt und, wenn du einen guten Titel wählst, der dein Problem beschreibt, die Leute dir viel schneller helfen können. Die Zeit, die wir hier gebraucht haben, hättest du (und wir) sparen können 😉

Gruss

Coffeebean

O
One_Piece Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Hallo Coffeebean,

Danke, dass du den Titel besser geschrieben hast. ich muss ehrlich sagen, ich bin nicht lange in Deutschland und deswegen fehlt mir der Wortschatz. Ich bin nämlich nur seit 6 Jahren in Deutschland.

Dankeschön nochmal

Viele Grüßen
Khalaf

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

naja - deine Variante des Abrufs dieser Menüs ist wohl auch noch die Alte.

Ich bin nicht sicher, was du schon hast - aber sofern du z.B. ein Addin (auf VSTO-Basis) hast - dann hilft dir dort die vorgenerierte Klasse namens "Globals" weiter - da steht z.B. Folgendes drin:


...
internal static ThisRibbonCollection Ribbons {
            get {
                if ((_ThisRibbonCollection == null)) {
                    _ThisRibbonCollection = new ThisRibbonCollection(_factory.GetRibbonFactory());
                }
                return _ThisRibbonCollection;
            }
        }
...

Bin mir relativ sicher, dass du darüber an die richtigen Infos kommen wirst.

In einer deiner Methoden würde dann nämlich Folgendes gehen:


var ribbons = Globals.Ribbons;
            foreach (var ribbon in ribbons)
            {
                
            }

Kanns leider nicht testen, da ich zu meinem einzigen VSTO-Projekt nicht mehr die passende Office-Version installiert hab - aber so sollte es gehen.

LG

O
One_Piece Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Hi,

Vielen Dank für schnellere Antwort. Ich werde mal das ausprobieren und sobald ich das geschafft habe, werde ich die Lösung für die Leute posten, die auch solche Probleme haben.

Viele Grüße
Khalaf