Altova MapForce Server 2024 Advanced Edition

Microsoft Visual Basic for Applications (VBA) est principalement utilisé pour automatiser les tâches dans Microsoft Office. Néanmoins, il est aussi possible d'appeler l'API MapForce Server depuis VBA et d'exécuter les mappages. Les instructions suivantes ont été testées sur MapForce Server et VBA pour Microsoft Office 2013. Les instructions peuvent varier si vous utilisez un autre environnement de développement VBA.

 

Exigences préalables

Avant de pouvoir appeler les fonctions API MapForce Server depuis votre projet VBA, veuillez noter les exigences suivantes :

 

1.Microsoft Office et MapForce Server doivent être installés sur le même appareil.

2.L'architecture de MapForce Server (32-bit ou 64-bit) doit correspondre à celle de Microsoft Office. Par exemple, si vous exécutez VBA sur Microsoft Office 32-bit, veuillez vous assurer que vous utilisez MapForce Server 32-bit. Pour savoir si votre produit Office est exécuté sur 64-bit, cliquer sur l'onglet Fichier, cliquer sur Account, puis sur "About Excel" (ou "About Word").

3.La bibliothèque MapForce Server doit être référencée depuis votre projet VBA (voir instructions ci-dessous).

 

Comment ajouter une référence à la Bibliothèque MapForce Server Library depuis votre projet VBA

1.Dans un document Microsoft Office activé pour macro (.docm, .xlsm), sur l'onglet Developer, cliquer sur Visual Basic.

Par défaut, l'onglet Developer n'est pas activé dans Microsoft Office. Pour l'activer dans un programme d'Office 2013, cliquer avec la touche de droite dans le ruban et sélectionner Customize the Ribbon depuis le menu contextuel. Ensuite, dans le dialogue Options, choisir la case Developer sous "Main Tabs".

2.Dans l'environnement de développement VBA, dans le menu Tools, cliquer sur References.

mfs_vba_ref

3.Cliquer sur pour choisir la MapForce Server Type Library.

 

Comment appeler l'API de MapForce Server

Une fois que vous avez ajouté une référence à la MapForce Server Library dans votre projet VBA, vous pouvez saisir le code VBA dans la fenêtre de l'éditeur de code. Par exemple, l'échantillon de code suivant appelle MapForce Server et exécute un fichier d'exécution de mappage (mapping.mfx) qui prend un paramètre d'entrée appelé "outfile" possédant la valeur "output.csv".

Sub RunMapping()
  ' Create a new instance of the MapForce Server
  Dim objMFS As New MapForceServerLib.Server
  With objMFS
      ' Set the working directory
      ' (used as base if the mapping has relative paths)
       .WorkingDirectory = "C:\temp\"
      ' If the mapping has parameters, supply them
      Call .AddParameter("outfile", "output.csv")
      ' Run the mapping
       .Run ("C:\temp\mapping.mfx")
  End With
End Sub

Appuyer sur F5 pour déboguer le code VBA et exécuter le mappage.

mfs_vba_code_zoom70

© 2017-2023 Altova GmbH