Excel 2013 VSTO-Multifunktionsleisten- und Bearbeitungssteuerelemente

Die schnelle Übersicht ist, dass ich ein Excel-AddIn für Excel 2013 habe. Das AddIn verfügt über eine benutzerdefinierte Multifunktionsleisten-Benutzeroberfläche, die einige schreibgeschützte Bearbeitungsfelder enthält, die arbeitsmappenspezifische Werte enthalten. Dasselbe AddIn funktioniert in Excel 2007 und 2010 mit der MDI-Schnittstelle, aber mit 2013 und der SDI-Schnittstelle.

Mit einem einfachen VSTO-AddIn habe ich eine einfache RibbonUI mit einer EditBox hinzugefügt. Zu Testzwecken versuche ich nur, die EditBox so einzustellen, dass sie die Workbook.Full-Name des Fensters widerspiegelt, in dem sie angezeigt wird. Soweit ich feststellen konnte, ist die RibbonUI ein Singleton, und es gibt keine offensichtliche Möglichkeit, die Werte von Bearbeitungssteuerelementen pro Arbeitsmappe / Fenster zu steuern. Wenn zwei Excel-Arbeitsmappen geöffnet sind und zwischen ihnen hin und her gewechselt wird (wobei der Wert in der ActiveWorkbookChanged-Eigenschaft der Excel.Application aktualisiert wird), geben beide Arbeitsmappen immer den neuesten Wert wieder. Schlimmer noch, es wird nur ein Ereignis ausgelöst, aber beide Fenster werden aktualisiert.

Der Kern des Problems ist, dass ich keine Möglichkeit finde, den Wert eines Bearbeitungssteuerelements pro Fenster / Arbeitsmappe zu steuern. ich fandProgrammierung für die Single Document Interface in Excel 2013, es sei denn, es wird nichts erwähnt oder es werden Verweise auf bereitgestelltWie dazu brauchst du nur.

Ich versuche es später mit einigen Beispielen, aber ich frage mich, ob jemand dieses Problem mit SDI unter Excel 2013 gelöst hat. Es ist offensichtlich, dass dies bei den integrierten Multifunktionsleisten-Steuerelementen im Jahr 2013 möglich ist (z. B. bei den Einstellungen für Schriftarten), aber die Dokumentation scheint äußerst spärlich zu sein, wie mit einem Benutzer-AddIn etwas Ähnliches erreicht werden kann.

Antworten auf die Frage(0)

Ihre Antwort auf die Frage