Altova MapForce Server 2024 

Microsoft Visual Basic for Applications (VBA) dient in erster Linie zum Automatisieren von Aufgaben in Microsoft Office. Sie können aber auch die MapForce Server API von VBA aus aufrufen und Mappings ausführen. Die folgende Anleitung wurde auf MapForce Server und VBA für Microsoft Office 2013 getestet. Bei Verwendung einer anderen VBA-Umgebung sind die einzelnen Schritte eventuell anders.

 

Voraussetzungen

Bevor Sie die MapForce Server API-Funktionen von Ihrem VBA-Projekt aus aufrufen können, benötigen Sie die folgenden Voraussetzungen:

 

1.Microsoft Office und MapForce Server müssen auf demselben Rechner installiert sein.

2.Die Architektur von MapForce Server (32-Bit oder 64-Bit) muss mit der von Microsoft Office übereinstimmen. Wenn Sie z.B. VBA auf Microsoft Office 32-Bit ausführen, stellen Sie sicher, dass Sie die MapForce Server 32-Bit-Version verwenden. Um herauszufinden, ob Ihr Office-Produkt auf 64-Bit läuft, klicken Sie auf das Register Datei, dann auf Konto und anschließend auf "Über Excel" (oder "Über Word")

3.Die MapForce Server-Bibliothek muss von Ihrem VBA-Projekt aus referenziert werden (siehe Anleitung unten).

 

So fügen Sie in Ihrem VBA-Projekt eine Referenz zur MapForce Server-Bibliothek hinzu

1.Klicken Sie in einem Microsoft Office-Dokument (.docm, .xlsm), in dem Makros aktiviert sind, auf dem Register Entwicklertools auf Visual Basic.

Standardmäßig ist das Register Entwicklertools in Microsoft Office nicht aktiviert. Um das Register Entwicklertools in einem Office 2013-Programm zu aktivieren, klicken Sie mit der rechten Maustaste auf das Menüband und wählen Sie im Kontextmenü den Befehl Menüband anpassen. Aktivieren Sie anschließend im Dialogfeld "Optionen" unter "Hauptregisterkarten" das Kontrollkästchen Entwicklertools.

2.Klicken Sie in der VBA-Entwicklungsumgebung im Menü Extras auf Verweise.

mfs_vba_ref

3.Klicken Sie, um die MapForce Server-Typbibliothek auszuwählen.

 

So rufen Sie die MapForce Server API auf

Nachdem Sie in Ihrem VBA-Projekt eine Referenz zur MapForce Server-Bibliothek hinzugefügt haben, können Sie den VBA-Code im Code-Editor-Fenster eingeben. Mit dem folgenden Beispielcode wird z.B.MapForce Server aufgerufen und eine ausführbare Mapping-Datei (mapping.mfx), die einen Input-Parameter namens "outfile" mit dem Wert "output.csv" erhält, ausgeführt.

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

Drücken Sie F5, um den VBA-Code zu debuggen und das Mapping auszuführen.

mfs_vba_code

© 2018-2024 Altova GmbH