da Excel a Word
Hai un problema con Excel? 
Excel--->Word
di Berlioz (utente non iscritto) data: 31/10/2012 10:57:07
Office2003
Un documento Word consta di un modulo che va compilato nei dettagli con dati che intendo trasferire con VBA da una Userform di Excel (es.: in Word accanto al testo "Indirizzo:" devo trasferire l'indirizzo che l'utente ha inserito in un TextBox di una Userform di Excel).
Grazie.
di Vecchio Frac data: 31/10/2012 13:39:44
Ma i due programmi, in Excel e in Word, non sono contemporanei, suppongo.
Pertanto appena in Excel l'utente ha inserito il dato nella TextBox della Userform, questo dato dove va? presumo in una cella di Excel. Quindi il file viene salvato e chiuso. Successivamente viene aperto Word. In questo contesto puoi sfruttare la Stampa Unione dando come origine dati il file Excel appena chiuso (solo la prima volta: l'origine dati non viene dimenticata per gli utilizzi successivi), e formattare il modello di documento affinché contenga i campi (modulo ma anche no) ai quali viene associato automaticamente il dato corretto.
Strettamente, quindi, non è un problema di VBA ma di comunicazione tra due prodotti che possono tranquillamente scambiarsi i dati.
di berlioz (utente non iscritto) data: 31/10/2012 13:55:15
Purtroppo l'UserForm fa parte del programma principale che resta sempre attivo ed i dati da trasferire non vengono memorizzati su nessuna cella di fogli di calcolo. Il trasferimento a Word avverrebbe, senza la visualizzazione del documento .doc, direttamente dal codice VBA associato alla UserForm; un pulsante poi sulla stessa UserForm si incarica di stampare il documento di Word appena generato.
Grazie
di Vecchio Frac data: 31/10/2012 14:36:34
E' fattibile.
Due suggerimenti / strade alternative prima di avviarsi nella soluzione del problema:
1) riproporre il modello di documento Word direttamente in Excel. Forse complicato, poco flessibile (Excel non è Word), ma se lo scopo è ottenere un modello solo da avviare alla stampa (una fattura? un report? un indirizzario?) presumo che un risultato *decente* lo si ottiene anche con Excel. Certo devi smanettare con larghezze di cella e impostazione formato pagina, ma ce la puoi fare. Il vantaggio è che risparmi un sacco di tempo di esecuzione perché non devi interfacciarti a Word e puoi fare tutto in loco, stampa compresa.
- oppure-
2) utilizzare un template di documento Word con dei segnalibri incorporati piuttosto che campi modulo. Il tuo Excel apre un documento basato su modello Word, raggiunge i segnalibri interessati, inserisce il valore desiderato e lancia la stampa.
In ogni caso, devi poi conservare copia informatica del documento stampato? se sì, anche (ma anche no) in pdf? i dati devono restare residenti per eventuali ristampe future? o magari solo per ricerca? in questa ultima ipotesi considera l'idea di abbracciare Access per una gestione forse migliore della reportistica.
O, rovesciando la medaglia, pensa che potresti fare tutto in Word, mi preoccupo quando mi dici che "i dati da trasferire non vengono memorizzati su nessuna cella di fogli di calcolo": ma come? e i dati che inserisco non vengono conservati da nessuna parte? e se l'utente sbaglia un inserimento come fa a correggerlo prima di stamparlo?
Pensaci un attimo, ripensa alle tue esigenze e prova a rispondermi magari specificando meglio il problema, le esigenze, le richieste dell'eventuale committente (se non sei tu) e le tue conoscenze in materia di VBA e comunicazione tra prodotti Office.
Vuoi Approfondire?