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.