Come eseguire i comandi FTP con VBA

August 26

Come eseguire i comandi FTP con VBA


Visual Basic, Applications, o VBA, è una versione del linguaggio Visual Basic di Microsoft, integrato nella suite Office di strumenti software di produttività. programmi VBA eseguito dall'interno di uno strumento da ufficio - per esempio, Word - l'accesso e la manipolazione dei dati attualmente gestiti da tale strumento - ad esempio, un documento Word. Un programma di VBA può leggere il suo input da, o scrivere i suoi risultati a, file ospitati su un server remoto tramite il protocollo di trasferimento di file, o FTP. È possibile scrivere codice VBA che indica il software client FTP - preinstallato di default sul computer - di interagire con server FTP.

istruzione

1 Creare il file di comando FTP con una lista di comandi che il client FTP verrà eseguito. Il seguente frammento di codice VBA crea un file:

Dim ftpFileHandle As Integer

ftpFileHandle = FreeFile

Open "ftpCommand.txt" per l'output come #ftpFileHandle

Stampa #ftpFileHandle, "ftpserver.com aperto"

Stampa #ftpFileHandle, "userid"

Stampa #ftpFileHandle, "password"

Stampa #ftpFileHandle, "invia localfile.xls"

Stampa #ftpFileHandle, "recv remotefile.doc"

Stampa #ftpFileHandle, "bye"

Chiudi #ftpFileHandle

Sostituire "ftpserver.com" con il nome del server FTP, "userid" con il nome del proprio account in quel server e la "password" con la tua password. Il codice di esempio carica un foglio di calcolo contenuta in un file chiamato "localfile.xls" e scarica un documento contenuto in un file chiamato "remotefile.doc." È possibile utilizzare uno qualsiasi dei comandi dalla "Lista dei comandi FTP" sul sito web Strumenti NSF prima di chiudere la sessione con "bye".

2 Creare un batch o script eseguibile, il file che richiama il client FTP per averlo eseguire il file di comando FTP. Il seguente frammento di codice VBA crea un file:

Dim batFileHandle As Integer

batFileHandle = FreeFile

Open "doFtp.bat" per l'output come #batFileHandle

Stampa #batFileHandle, "-s ftp: ftpCommand.txt"

Chiudi #batFileHandle

3 Eseguire il file batch includendo la seguente riga nel codice VBA:

Shell ( "doFtp.bat"), vbHide '', vbMinimizedNoFocus

Si noti che la riga contiene due virgolette singole, senza alcun carattere tra di loro, subito prima del secondo comma. Il vostro programma VBA richiamerà il file batch che, a sua volta, richiamare il client FTP e farlo eseguire la sequenza di comandi dal punto 1.