Visual Basic for Applications, ou VBA, é uma versão da linguagem Visual Basic, da Microsoft, integrada no pacote Office de ferramentas de software de produtividade. programas VBA executar a partir de uma ferramenta de escritório - por exemplo, o Word - acessar e manipular os dados actualmente geridos por essa ferramenta - por exemplo, um documento do Word. Um programa VBA pode ler sua entrada, ou escreva seus resultados, arquivos hospedados em um servidor remoto através do protocolo de transferência de arquivos ou FTP. Você pode escrever código VBA que instrui software cliente de FTP - pré-instalado por padrão no seu computador - para interagir com servidores FTP.
Criar o arquivo de comandos de FTP com uma lista de comandos que o cliente FTP irá executar. O seguinte fragmento de código VBA cria um ficheiro deste tipo:
Dim ftpFileHandle As Integer
ftpFileHandle = FreeFile
Aberto "ftpCommand.txt" Para saída como #ftpFileHandle
Imprimir #ftpFileHandle, "ftpserver.com aberta"
Imprimir #ftpFileHandle, "ID do usuário"
Imprimir #ftpFileHandle, "senha"
Imprimir #ftpFileHandle, "enviar localfile.xls"
Imprimir #ftpFileHandle, "recv remotefile.doc"
Imprimir #ftpFileHandle, "tchau"
Fechar #ftpFileHandle
Substituir "ftpserver.com" com o nome do servidor de FTP, "ID do usuário" com o nome da sua conta no servidor e "senha" com sua senha. O código de exemplo carrega uma folha de cálculo contido em um arquivo chamado "localfile.xls" e faz o download de um documento contido em um arquivo chamado "remotefile.doc." Você pode usar qualquer um dos comandos a partir do "Lista de comandos de FTP" no site da NSF Tools antes de fechar a sessão com "tchau."
Criar um lote ou script executável, arquivo que invoca o cliente de FTP para tê-lo executar o arquivo de comando FTP. O seguinte fragmento de código VBA cria um ficheiro deste tipo:
Dim batFileHandle As Integer
batFileHandle = FreeFile
Aberto "doFtp.bat" Para saída como #batFileHandle
Imprimir #batFileHandle, "-s ftp: ftpCommand.txt"
Fechar #batFileHandle
Execute o arquivo de lote, incluindo a seguinte linha no seu código de VBA:
Concha ("doFtp.bat"), VbHide ``, vbMinimizedNoFocus
Note-se que a linha contém duas aspas simples, sem qualquer caractere entre eles, imediatamente antes do segundo vírgula. Seu programa VBA irá chamar o arquivo em lotes que, por sua vez, irá chamar o cliente de FTP e tê-lo executar a seqüência de comandos a partir do Passo 1.