Domanda

Sto cercando di automatizzare MS Word dal mio C # app e avere un problema modificando l'interfaccia utente del nastro. Tutti i campioni sono riuscito a trovare utilizzano un'interfaccia IRibbonExtensibility che è disponibile da solo componenti aggiuntivi. E 'possibile fare questo utilizzando l'automazione?

È stato utile?

Soluzione 2

Quello che ho fatto è stato quello di costruire piccole ATL Addin che implementa 2 Interfacce: IDTExtensibility2 e IRibbonExtensibility L'XML di personalizzazione viene semplicemente caricato da un file.

all'interno del codice C # la codifica è molto semplice:

        RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Office\Word\Addins\RibbonLoaderLib.RibbonLoader");
        key.SetValue("LoadBehavior",2,RegistryValueKind.DWord);
        key.SetValue("Description","Ribbon Loader Add-In",RegistryValueKind.String);
        key.SetValue("FriendlyName","Ribbon Loader Add-In",RegistryValueKind.String);
        wordApp_.COMAddIns.Item("RibbonLoaderLib.RibbonLoader").Connect = true;           

Altri suggerimenti

utilizzando l'interfaccia IRibbonExtensibility che è disponibile da componenti aggiuntivi solo

il che significa che non funzionerà tramite l'automazione, l'interfaccia non è esposto nella libreria tipo out-of-process. Dovrete usare VSTO di scrivere un componente aggiuntivo, utilizzare il C # + Office + Word 2007 Add-in modello di progetto per iniziare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top