il monitoraggio di un intervallo di celle all'interno di Excel 2007 con C # / VSTO
-
11-09-2019 - |
Domanda
Ho una riga in excel mi piacerebbe tradurre in un ObserveableCollection in C # per la rilegatura / scopi di eventi, in modo da tutte le classi accessor sapere che stanno ottenendo gli ultimi dati dalla fonte foglio Excel. Come sarebbe questo essere fatto?
Precisazione:. Sto usando un progetto aggiuntivo in Excel, non un progetto cartella di lavoro, quindi non sono sicuro se o non controlli XMLMappedRange sono un'opzione
Soluzione
Utilizzando VSTO avete alcune opzioni:
- Excel.Worksheet classe, è possibile accedere alla foglio di lavoro. cambiare evento.
- NamedRange di classe, è possibile accedere al rel="noreferrer"> evento (che utilizza il delegato Microsoft.Office.Interop.Excel.DocEvents_ChangeEventHandler che lei ha citato in un altro commento).
- La classe NamedRange supporta anche l'associazione dati semplice, a senso unico attraverso il DataBindings proprietà, di cui un esempio è mostrato nella discussione Come faccio lego un array ad una NamedRange .
- Un'altra possibilità è la href="http://msdn.microsoft.com/en-us/library/9w9a2ck2.aspx" rel="noreferrer"> XmlMappedRange controllo , che supporta anche l'associazione dati.
Un buon primer sull'utilizzo del NamedRange e XmlMappedRange può essere trovato qui: Il modello di programmazione VSTO . Una guida decente utilizzando il NamedRange può essere trovato nel visual Studio Tools per Office (VSTO) 2005 Visita guidata .
Spero che questo aiuta ...
Mike
Altri suggerimenti
È possibile aggiungere OnChanged nella tua fascia di evento modificato.