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

È stato utile?

Soluzione

Utilizzando VSTO avete alcune opzioni:

  1. Excel.Worksheet classe, è possibile accedere alla foglio di lavoro. cambiare evento.
  2. 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).
  3. 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 .
  4. 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.

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