Tecnología

Inicio

Cómo ejecutar comandos FTP con VBA

Cómo ejecutar comandos FTP con VBA


Visual Basic para Aplicaciones, o VBA, es una versión del lenguaje de Visual Basic de Microsoft, integrado en la suite de Office de herramientas de software de productividad. programas VBA se ejecutan desde el interior de una herramienta de oficina - por ejemplo, Word - acceder y manipular los datos gestionados actualmente por esa herramienta - por ejemplo, un documento de Word. Un programa de VBA puede acepte como entrada, o escribir sus resultados a, los archivos alojados en un servidor remoto a través del protocolo de transferencia de archivos, o FTP. Se puede escribir código VBA que instruye el software de cliente FTP - preinstalado por defecto en su ordenador - para interactuar con los servidores FTP.

Instrucciones

1 Crear el archivo de comandos FTP con una lista de comandos que el cliente FTP será permitida. El siguiente fragmento de código VBA crea un archivo de este tipo:

Dim ftpFileHandle como número entero

ftpFileHandle = FreeFile

Abrir "ftpCommand.txt" For Output As #ftpFileHandle

Imprimir #ftpFileHandle, "ftpserver.com abierta"

Imprimir #ftpFileHandle, "idusuario"

Imprimir #ftpFileHandle, "contraseña"

Imprimir #ftpFileHandle, "enviar localfile.xls"

Imprimir #ftpFileHandle, "RECV remotefile.doc"

Imprimir #ftpFileHandle, "bye"

Cerrar #ftpFileHandle

Reemplazar "ftpserver.com" con el nombre del servidor FTP, "ID de usuario" con el nombre de su cuenta en el servidor y la "contraseña" con su contraseña. El código de ejemplo cargue una hoja de cálculo contenido en un archivo llamado "localfile.xls" y descarga un documento contenido en un archivo llamado "remotefile.doc." Puede utilizar cualquiera de los comandos de la "Lista de comandos FTP" en la página web de la NSF Herramientas antes de cerrar la sesión con "bye".

2 Crear un lote, o script ejecutable, archivo que invoca el cliente FTP para que se ejecute el archivo de comandos FTP. El siguiente fragmento de código VBA crea un archivo de este tipo:

Dim batFileHandle como número entero

batFileHandle = FreeFile

Abrir "doFtp.bat" For Output As #batFileHandle

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

Cerrar #batFileHandle

3 Ejecutar el archivo por lotes mediante la inclusión de la siguiente línea en su código VBA:

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

Tenga en cuenta que la línea contiene dos comillas simples, sin ningún carácter entre ellos, inmediatamente antes de la segunda coma. Su programa VBA invocará el archivo por lotes que, a su vez, se invocará el cliente FTP y haga que la ejecución de la secuencia de comandos desde el paso 1.