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.
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";
Willst Du ein Ribbon hinzufügen oder was willst Du genau tun?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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.
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..