Laden...

Ribbon im Application.ActiveInspector() ansprechen

Erstellt von morbus85 vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.289 Views
M
morbus85 Themenstarter:in
81 Beiträge seit 2009
vor 13 Jahren
Ribbon im Application.ActiveInspector() ansprechen

Hallo zusammen,

bin am verzweifeln. Wer kann mir verraten wie ich mein Ribbon im Application.ActiveInspector() ansprechen kann.
Ich habe Office 2007 und VS 2010 und programmiere in C#.

Ich weiß, dass Application.ActiveInspector() das aktive Fenster zurück gibt und im ihn komme ich etwas weiter durch CommandBars in der Klasse Inspector, aber da kann ich weder in meine Ribbon Klasse umwandeln, noch überhaupt in eine Ribbon Klasse.

M
morbus85 Themenstarter:in
81 Beiträge seit 2009
vor 13 Jahren

Also rein theoretisch muss das hier funktionieren, tut es aber nicht

ThisRibbonCollection ribbonCollection = 
                         Globals.Ribbons[Globals.ThisAddIn.Application.ActiveInspector()];
ribbonCollection.Ribbon1.comboBox1.Text = "Hello World";
16.827 Beiträge seit 2008
vor 13 Jahren

Willst Du ein Ribbon hinzufügen oder was willst Du genau tun?

M
morbus85 Themenstarter:in
81 Beiträge seit 2009
vor 13 Jahren

Die Application übergen um z.B. in das Textfeld unten einträge einzufügen.

Aber ich glaube ich habe es gefaunden.... bin falsch angegangen. Ich hätte gleich von Anfang an über Gloabals.Ribbons gehen sollen.

M
morbus85 Themenstarter:in
81 Beiträge seit 2009
vor 13 Jahren
while (is_open)
{
  Thread.Sleep(100);
  if (Globals.Ribbons.Count != last_count)
 {
    if (Globals.Ribbons[Globals.Ribbons.Count-1].GetType() 
           == (new AddInRibbon()).GetType())
    {
         ((AddInRibbon)Globals.Ribbons[Globals.Ribbons.Count - 1]).Application 
                   = this.Application;
    }
 }                    
}

also, wer selber Probleme hatte, hier die Lösung... das Dumme ist nur, dass Outlook noch viel, sehr viel mit COM arbeitet..