Altova MapForce Server 2024 Advanced Edition

Ejemplo en Visual Basic for Applications (VBA)

Inicio Anterior Inicio Siguiente

Microsoft Visual Basic for Applications (VBA) se usa sobre todo para automatizar tareas en Microsoft Office. Sin embargo, desde VBA también puede llamar a la API de MapForce Server para ejecutar asignaciones. Las instrucciones que aparecen a continuación se han probado en MapForce Server y VBA para Microsoft Office 2013. Dependiendo del entorno de desarrollo puede que los pasos del proceso cambien ligeramente.

 

Requisitos previos

Antes de llamar a las funciones de la API de MapForce Server desde su proyecto VBA debe tener en cuenta estos requisitos previos:

 

1.Microsoft Office y MapForce Server deben estar instalados en el mismo equipo.

2.La arquitectura de MapForce Server (32 o 64 bits) debe coincidir con la de Microsoft Office. Por ejemplo, si ejecuta VBA en Microsoft Office de 32 bits, entonces debe usar MapForce Server de 32 bits. Para averiguar si su producto Office es de 32 o 64 bits haga clic en la pestaña Archivo y después en Cuenta y en Acerca de Excel/Word.

3.El proyecto VBA debe hacer referencia a la biblioteca de MapForce Server (ver instrucciones más abajo).

 

Cómo añadir una referencia a la biblioteca de MapForce Server desde el proyecto VBA

1.En un documento Microsoft Office que tenga habilitadas las macros, haga clic en la pestaña Programador y después en Visual Basic.

La pestaña Programador no está habilitada por defecto en Microsoft Office. Para habilitarla en un programa de Office 2013 haga clic con el botón derecho en la cinta y seleccione Personalizar la cinta de opciones en el menú contextual. Después, en el cuadro de diálogo "Opciones", marque la casilla Programador del panel "Pestañas principales".

2.En el entorno de desarrollo VBA, en el menú Herramientas, haga clic en Referencias.

mfs_vba_ref

3.Seleccione la biblioteca de tipos de MapForce Server.

 

Para llamar a la API de MapForce Server

Tras añadir la referencia a la biblioteca de MapForce Server al proyecto VBA, podrá introducir código VBA en la ventana del editor de código. Por ejemplo, el código que aparece a continuación llama a MapForce Server y ejecuta un archivo de asignación ejecutable (mapping.mfx) que toma un parámetro de entrada llamado outfile cuyo valor es output.csv.

Sub RunMapping()
  ' Crear una instancia nueva de MapForce Server
  Dim objMFS As New MapForceServerLib.Server
  With objMFS
      ' Establecer el directorio de trabajo, que sirve de base para las rutas de acceso relativas

       .WorkingDirectory = "C:\temp\"
      ' Aportar parámetros si la asignación los utiliza
      Call .AddParameter("archivosalida", "salida.csv")
      ' Ejecutar la asignación
       .Run ("C:\temp\asignación.mfx")
  End With
End Sub

Pulse F5 para depurar el código VBA y ejecutar la asignación.

mfs_vba_code

© 2017-2023 Altova GmbH