2016-02-21 18 views
5

Sto cercando di automatizzare l'aggiunta di & installando un componente aggiuntivo per Excel in cui il componente aggiuntivo si trova su un'unità di rete condivisa. So dalla mia lettura sul web (here e here) che ho bisogno di fare la copia che è sull'unità di rete condivisa di sola lettura. E grazie al primo collegamento ora so come posso fare revisioni, correzioni e aggiunte al mio add-in lungo la strada usando questo metodo per mantenere il file sull'unità di rete condivisa.Dove viene salvato un componente aggiuntivo di Excel quando viene aggiunto e installato a livello di programmazione?

Ora che ho un'idea del processo, ho iniziato a esaminare come automatizzare l'aggiunta e l'installazione del componente aggiuntivo una volta che è sull'unità di rete condivisa. Mi sono imbattuto nello this post, che mi ha indirizzato nella giusta direzione per utilizzare l'oggetto Excel.AddIn. Così, ero trascorso qualche tempo a guardare la documentazione MSDN sulle AddIn Object proprietà (Installed Property e AddIn Object sé), che è dove ho trovato questo pezzo di codice che aggiunge e installa il componente aggiuntivo in una linea

AddIns.Add("generic.xll").Installed = True 

la mia domanda (e preoccupazione):

Nelle istruzioni di seguito

Instructions

proiettile p Oint five mi ha un po 'preoccupato perché non sono stato in grado di scoprire attraverso il mio scavare in giro per il web se usando lo snippet di codice sopra per aggiungere e installare il componente aggiuntivo lo copierò nella cartella locale/dell'utente (che non vuoi), tienilo nella cartella di rete condivisa, o se chiederà all'utente come quando naviga manualmente per aggiungere il componente aggiuntivo. Se li richiede c'è un modo per sceglierli (fare sempre clic su "No") o c'è un modo per scegliere "No" senza mostrare loro il prompt? Come posso utilizzare il codice sopra riportato e assicurarmi che stia aggiungendo e installando il file aggiuntivo che si trova su quell'unità di rete condivisa? Qualcuno può far luce su questa situazione per me?

+1

Per me è chiaro da http://www.cpearson.com/excel/installinganxla.aspx che quando si 'Application.AddIns.Add (Nome file: =" C: \ MyAddIn.xla "). Installato = True 'che il file non è copiato da nessuna parte ma installato da qualsiasi nome di file specificato. Ma sarebbe facile da testare. –

+0

Anche se questo è un collegamento che non ho incontrato, non sembra essere completamente chiaro in quanto non menziona nulla sul prompt che ho descritto sopra (nemmeno nei passaggi in cui un utente aggiunge manualmente il componente aggiuntivo). Per quanto ne so, per impostazione predefinita potrebbe prendere quel file dal percorso e salvarlo (una copia) nella cartella locale. Quindi, sto ancora cercando prove solide finché non avrò la possibilità di testarlo sulla rete della mia azienda. – CaffeinatedCoder

+0

"... fare clic sul pulsante Sfoglia per aprire una finestra di dialogo familiare Apri. Passare alla cartella in cui è stato salvato il file aggiuntivo XLA, selezionare quel file e fare clic su Apri. [Prompt dovrebbe mostrare qui] installa .... " – CaffeinatedCoder

risposta

4

Ottima domanda. Quello che stai cercando è l'argomento CopyFile del metodo Addins.Add. Impostarlo su false equivale a rispondere "No" a "Copia nella cartella locale?" chiederà:

enter image description here

E proprio per chiarire ciò che si conosce già la proprietà Addin.Installed determina solo se il componente aggiuntivo è selezionato nella finestra di dialogo Componenti aggiuntivi. (Non molto chiaro per me quando l'ho incontrato per la prima volta).

+0

Perfetto! E qualcosa di così semplice, grazie! – CaffeinatedCoder

Problemi correlati