Hvordan Execute FTP kommandoer med VBA

Hvordan Execute FTP kommandoer med VBA


Visual Basic for Applications, eller VBA, er en versjon av Microsofts Visual Basic språk, integrert i Office-pakken av produktivitet programvareverktøy. VBA programmer kjøres fra et Office-verktøy - for eksempel Word - tilgang til og manipulere data som forvaltes av dette verktøyet - for eksempel et Word-dokument. En VBA-programmet kan du lese innspill fra, eller skrive sine resultater til, filer på en ekstern server over File Transfer Protocol, eller FTP. Du kan skrive VBA-kode som instruerer FTP-klientprogramvare - forhåndsinstallert som standard på datamaskinen din - til å samhandle med FTP-servere.

Bruksanvisning

1 Lag kommandofilen med en liste over kommandoer som FTP-klient skal utføre FTP. Følgende VBA kodefragment oppretter en slik fil:

Dim ftpFileHandle As Integer

ftpFileHandle = Freefile

Open "ftpCommand.txt" For Output As #ftpFileHandle

Print #ftpFileHandle, "open ftpserver.com"

Skriv ut #ftpFileHandle, "brukerID"

Print #ftpFileHandle, "passord"

Skriv ut #ftpFileHandle, "send localfile.xls"

Print #ftpFileHandle, "recv remotefile.doc"

Skriv ut #ftpFileHandle, "bye"

Lukk #ftpFileHandle

Erstatt "ftpserver.com" med navnet på FTP-serveren, "brukerid" med navnet på din konto i den serveren og "passord" med ditt passord. Eksempelkoden laster opp et regneark i en fil som heter "localfile.xls" og laster ned et dokument i en fil som heter "remotefile.doc." Du kan bruke noen av kommandoene fra "Liste over FTP kommandoer" på NSF Tools nettside før du lukker økten med "bye".

2 Lag en batch, eller kjørbar skript, fil som påkaller FTP-klient for å ha det kjøre FTP kommandofilen. Følgende VBA kodefragment oppretter en slik fil:

Dim batFileHandle As Integer

batFileHandle = Freefile

Open "doFtp.bat" For Output As #batFileHandle

Skriv ut #batFileHandle, "ftp -s: ftpCommand.txt"

Lukk #batFileHandle

3 Kjør batch-filen ved å inkludere følgende linje i VBA-kode:

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

Legg merke til at linjen inneholder to enkle anførselstegn, uten noen tegn mellom dem, umiddelbart før den andre komma. VBA-programmet vil påberope batch-fil som i sin tur vil påberope FTP-klient og har det utføre sekvens av kommandoer fra trinn 1.