Scrivere e salvare e/o aprire file di testo (.TXT) usando un CommonDialog ActiveX. - dal 04/09/04 pagina vista: volte Può necessitare a volte, lavorando su Excel, di consultare istruzioni o appunti scritti su file .Txt, oppure di dover scrivere note o appunti, anche di ampie dimensioni, e di volerli salvare per successive consultazioni. Il discorso si fa ampio, se si pensa che sarà possibile non solo prendere e scrivere memorial o comunque testo, ma copiare un'elenco di una colonna del foglio di lavoro , ed incollarlo in un file di testo, salvando in questo modo una serie di dati che potranno in seguito essere consultati, oppure prelevare, copiando, da un file di testo, una serie di dati incolonnati e incollarli in una colonna sul foglio di Excel. Il tutto disponendo delle classiche finestre "Apri File" o "Salva File con nome", scegliendo anche il percorso dove salvarlo. Per le operazioni di copia/incolla da/sul file di testo, dovremo usare le combinazioni di tasti:
Vediamo un'immagine che mostra la UserForm per scrivere un File di testo, che illustra meglio un possibile esempio di copia/incolla : sul foglio, colonna A, un elenco di nomi, selezionato, copiato e poi incollato nella finestra in un file di testo pronto da salvare: Se vi interessa, proseguite leggendo come fare. Innanzi tutto bisogna poter disporre del controllo .ocx giusto che servirà a caricare dal menù dell'Editor di visual basic, Strumenti/Controlli Aggiuntivi, il controllo COMDLG32.OCX che si trova nella cartella System32 di Windows, ed il cui nome identificativo è Microsoft Common Dialog Control 6.0 (SP3). Il CommonDialog non è un Controllo tipico di Excel, ma lui lo riconosce e lo accetta. Questo Controllo CommonDialog (finestre di dialogo comuni) rende disponibile un gruppo di finestre di dialogo standard per l'esecuzione di operazioni quali l'apertura e il salvataggio di file, l'impostazione di opzioni di stampa e la selezione di colori e tipi di carattere, e funge da interfaccia tra il Visual Basic e le routine nella libreria a collegamento dinamico di Microsoft Windows Commdlg.dll. La procedura per caricarlo è la stessa già descritta nella pagina "UserForm e Gif animate" (vedi) presente nella sezione Vba di http://ennius.interfree.it . Per chi ne fosse sprovvisto, può scaricare da qui il file COMDLG32.zip, 61 Kb, decomprimerlo, e copiarlo nella cartella System32 (questa è la versione per XP). Fatto questo, potremo usarlo inserendolo nelle nostre UserForm. Questo controllo lo vedremo solo quando saremo in modalità progettazione, quando apriremo le userform sul foglio di lavoro, risulterà invisibile. In questa applicazione non è necessario preimpostare nessuna delle proprietà del controllo. Questa un'immagine di come vedremo il CommonDialog nella "Casella degli strumenti" della userform, e come sarà sulla userform: Per questo progetto inseriremo due UserForm, una per scrivere e salvare un file di testo, l'altra per aprire e leggere file di testo. Cominciamo a vedere come impostare la UserForm per la scrittura di un file di testo
Dimensioneremo a piacere la nostra UserForm e altrettanto faremo con la nostra TextBox: non dobbiamo dimenticare che dovrà, se necessario, contenere molte righe di testo, come se fosse un file realizzato col Notepad. Le proprietà della textbox che dovremo modificare sono:
Ora vediamo le istruzioni da usare, per prima
poi la routine per inserire la data del giorno:
Sul pulsante 3, "Chiudi", inseriamo l'istruzione End così oltre a chiudere la form, ne cancella il contenuto dalla memoria:
Per quanto riguarda la seconda UserForm, il procedimento è uguale a quanto detto per la prima, compreso le impostazioni delle proprietà della TextBox, solo che qui avremo due soli CommandButton, uno per attivare la procedura di apertura file, ed uno per chiudere la form. In più ci saranno due Label (etichetta) : una avrà il compito di mostrarci il percorso e il nome del file aperto, e la seconda che ci avvisa cosa conterrà l'altra. Questa un'immagine:
il pulsante Chiudi ha la stessa istruzione della UserForm precedente.
Buon lavoro. prelevato sul sito www.ennius.altervista.org |