Home Page Home Page Tips & Tricks Come salvare un file di Word su un Server Remoto premendo un pulsante e usando VBA ?

Come salvare un file di Word su un Server Remoto premendo un pulsante e usando VBA ?


Il problema che vado a risolvere verte sulla possibilità di permettere ad un qualsiasi utente in una rete locale, di salvare un documento word in un server o in un altro terminale (presupponendo che l'utente ne abbia tutti i permessi) con l'uso di un pulsante posto sulla Barra degli strumenti.
Per fare ciò utilizzo una Macro.
Vediamo i passi fondamentali.
Apriamo Word e scegliamo Macro dal menù strumenti e nuovamente Macro…:



A questo punto ci apparirà una finestra denominata Macro nella quale è possibile inserire il nome della macro da creare (tale nome sarà anche quello che apparirà quando il cursore del mouse si poserà sopra il pulsante). Scritto il nome della macro possiamo procedere facendo clic sul tasto Crea.



In seguito alla pressione del pulsante si aprirà una nuova finestra costituita da quattro parti principali: la parte del progetto che mostra le sessioni word aperte e gli oggetti attivi al momento, l'editor della macro, la parte contenente le proprietà degli oggetti selezionati e la finestra Immediata che permette di testare i comandi che si inseriscono nella macro.



Per il nostro scopo è sufficiente aggiungere una semplice UserForm ossia una form che possa essere utilizzata da chi ha lanciato il comando della macro. È sufficiente scegliere Inserisci dal menù e UserForm per generare la UserForm1 che andrà ad aggiungersi nella parte Progetto sotto ThisDocument.
A questo punto l’editor visualizza, non più il codice della macro, bensì la form in aspetto grafico. Possiamo allargarla e allungarla a piacere per poi passare alla definizione delle sue funzionalità.
Scegliendo Casella degli strumenti dal menù Visualizza, si apre una finestrella contenente i tools più usati per la creazione delle macro.
Sfortunatamente la funzionalità che più ci interessa non è presente e pertanto sarà necessario importarla. Per importarla facciamo clic con il tasto destro del mouse sulla Casella degli strumenti e scegliamo la voce Controlli aggiuntivi. Apparirà una finestra contenente un elenco molto lungo di funzionalità. Alcune contrassegnate a sinistra da una x altre no. Quelle contrassegnate indicano le funzionalità già inserite nella Casella degli strumenti, mentre le altre non lo sono ancora.
Scendiamo nell’elenco fino a trovare la voce Microsoft Web Browser e lo selezioniamo cliccando sul quadratino bianco alla sua sinistra che visualizzerà la x e in seguito premiamo Ok.



Con questa azione abbiamo fornito di un nuovo strumento la Casella degli strumenti. Esso appare come un piccolo mondo azzurro e si accoderà agli altri strumenti.
È ora possibile inserire l’oggetto Web Browser nella form semplicemente selezionando il nuovo strumento e poi decidendone la posizione nella form.
Per portare a termine il nostro scopo dobbiamo inserire anche una TextBox per poter digitare il nome del file che andremo a salvare, e un bottone per confermare il salvataggio. Entrambi gli oggetti sono presenti nella casella degli strumenti.
Selezionando gli oggetti visualizzati nella form, la finestra in basso a sinistra ne fornirà le proprietà, permettendo di modificare alcuni parametri (nome del pulsante, colori di sfondo, ecc.).



Una volta soddisfatti della progettazione della form, passiamo al codice.
Selezionata la UserForm1 scegliere Codice dal menù Visualizza. Apparirà l’editor vuoto e noi provvederemo ad inserire le righe necessarie per impostare il salvataggio.



Le prime tre righe forniscono il comando per il salvataggio del documento nella cartella momentaneamente visualizzata dal Web Browser (chiamato WebBrowser1) e con il nome scritto nella casella di testo seguito dall’estensione di word.
Le seconde tre righe identificano il percorso che il Web Browser deve visualizzare al momento dell’apertura della form. Con il metodo navigate è possibile descrivere il percorso come stringa. In questo caso il percorso visualizzato all’apertura sarà la cartella Prova del hard disk C: nel server MyServer.
A questo punto si deve imporre l’attivazione della form alla chiamata della macro. Per farlo è sufficiente selezionare NewMacros nella finestra Progetti e scegliere Visualizza dal menù e poi Codice. Attivato l’editor del Main della macro è sufficiente scrivere UserForm1.show per far richiamare la form all’attivazione della macro.
Ora si può salvare la macro (c’è il pulsante indicante il dischetto) e chiudere la finestra.

Passiamo infine all’inserimento del pulsante che permette l’attivazione.
Scegliere Visualizza dal menù e poi Barra degli strumenti e personalizza.



Nella finestra visualizzata scegliamo la cartella Comandi e scorriamo le Categorie fino a giungere alla voce Macro. Qui vengono visualizzate tutte le macro presenti nel modello Normal.DOT.
Scelta la macro da noi creata Mia_Macro si deve trascinare con il mouse su una delle barre degli strumenti presenti in word (io personalmente ho inserito il pulsante nella stessa barra del normale salvataggio).



All’inizio il pulsante sarà descritto dal nome della macro, ma facendo clic con il tasto destro sul pulsante si può decidere di inserire un’icona scegliendo la voce Solo testo (menu).
Una volta apportate le modifiche del caso possiamo chiudere la finestra Personalizza.
Da adesso in poi premendo il pulsante si aprirà la form che permetterà il salvataggio nell’inidirizzo specificato.



Senza dover riscrivere la stessa macro per tutti gli utenti, è possibile semplicemente copiare il nuovo Normal.DOT a tutti coloro che necessitano di questo servizio al posto del loro modello.
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5