Frage

Ich habe ein Projekt, das Funktionalität in Microsoft Word mit einem XML-Erweiterungspack fügt. Derzeit, wenn das Dokument, das wir den Kunden geben geöffnet wird, lädt es unser Rudel, das die SmartDocInitialize Verfahren ausführt, die Dinge in das Hauptmenü und Symbolleiste Microsoft.Office.Core.CommandBar.Controls.Add und dergleichen hinzufügt. Ohne Änderungen, wenn in Word 2007 diese Schaltflächen hinzugefügt werden auf der Add-Ins Band Tab geöffnet, aber das ist nicht ideal, da die Tasten alle klein sind, nicht richtig gruppiert, und es gibt keine Möglichkeit, die Registerkarte Add-Ins zu bringen die Vorderseite, wenn das Dokument geladen wird.

Ich mochte diese Funktionalität halten das gleiche, wenn das Dokument in Office 2003 geöffnet wird, aber wenn das Dokument in Office 2007 geöffnet ist, würde ich gerne in einer XML-Datei lesen, die meine neuen Band Reiter und alle die beschreiben Tasten. Alles, was ich habe in der Lage, online zu finden schien auf die Ribbon-Datei führen nur dann geladen wird, wenn Sie eine sehr spezifische Kombination von Magie (Build in Visual Studio und es funktioniert, aber keine Informationen darüber, wie Sie es zu einem Benutzer bereitstellen würden Box) und funktioniert nur, wenn Sie ein ganzes Projekt ursprünglich mit den Visual Studio-Tool für Office-Eigenschaften erstellt haben, die ich nicht habe zur Zeit.

Unsere Entwicklungsumgebung ist XP, Visual Studio 2005, C #, .NET 2.0

War es hilfreich?

Lösung

Das Ribbon UI ist einfach nicht so programatic wie die alten Command UI. Ich glaube nicht, können Sie tun, was Sie wollen. Soweit ich die einzige Art und Weise kenne programmatisch die Ribbon-Benutzeroberfläche zu ändern, ist ein (COM) haben Add-in der IRibbonExtensibility-Schnittstelle implementieren und eine benutzerdefinierten XML-Datei (mit der Band Definition) von der GetCustomUI Methode zurückzukehren. Es gibt keine Möglichkeit, Tasten zu einer Zeit ein, um hinzuzufügen oder zu entfernen, wie Sie kann mit dem Command UI. Es ist einfach völlig anders. Ich glaube nicht, können Sie tun, was man von einigen Makros in einem Dokument möchten.

Ich ist mit XML-Erweiterungen nicht vertraut, aber wenn man sich auf dem PC des Benutzers installieren, vielleicht könnten Sie ein Add-In als installieren und das könnte das entsprechende Band XML für Sie laden.

Andere Tipps

Das ist nicht so schwer, wie es scheint.

Wenn Sie bereits Ihre Band Schaltflächen auf einige VBA-Makros in dem Dokument angeschlossen, dann brauchen Sie nur einen Verweis in Ihrem VBA-Projekt auf Ihre com sichtbar .NET-Assembly hinzuzufügen.

Die .net Montag zusätzlich zu sichtbarem com markiert werden (so zeigt es als eine Art Bibliothek im Dialogfeld Verweis auf), hat einige Methoden, die Einrichtung sind von VBA aufgerufen werden kann.

Google "vba .net aufrufbar"

es ist nicht schwierig, mark-Klasse als com sichtbar, erklären sie mit einem Programm-ID-Attribut, machen Methoden Öffentlichkeit, stellen Sie sicher, Ihre Methoden einfache Typen zurückgeben, und verwenden Sie regasm die Montage auf dem Zielcomputer registrieren (nicht auf dev-Box erforderlich) .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top