Home | Lösungen | Kompetenz | Programmieren | Kontakt | SiteMap

FileMaker 4 You - FileMaker Programmieren

FileMaker-Daten mit AppleScript und VBA-Makro an Word-Formular übergeben

Kurzbeschreibung

Aus FileMaker heraus eine Word-Vorlage mit Text-Formularfeldern aufrufen, in diese die Daten aus dem aktuellen FileMaker-Datensatz eintragen und die ausgefüllte Word-Vorlage an einem in der FileMaker-Datenbank definierten Ort abspeichern, das mit der Möglichkeit dieses Word-Dokument jederzeit aus FileMaker öffen zu können.

zuletzt aktualisiert: 10.02.2005

Download: FileMaker AppleScript VBA Word Beispiel (StuffIt gepackt / 176KB)

FileMaker

Der Kern in der FileMaker-Programmierung sind die zwei Script-Schritte:
1. "Feld angeben"
Feld: "Parameter",
Parameter:
(Hinweis: Um innerhalb eines Text-Strings der Parameter-Anweisung ein Anführungzeichen zu notieren, escapen Sie das Anführungzeichen, indem Sie ein weiteres Anführungszeichen voranstellen.)
"tell application ""Microsoft Word""¶" &
"	activate¶" &
"	do Visual Basic ""call FileMaker4You.fm2wd.Brief(" &
"\""" & Anrede & "\""," &
"\""" & Titel & "\""," &
"\""" & Vorname & "\""," &
"\""" & Nachname & "\""," &
"\""" & Str & "\""," &
"\""" & Land & "\""," &
"\""" & PLZ & "\""," &
"\""" & Ort & "\""," &
"\""" & Betreff & "\""," &
"\""" & Zeichen & "\""," &
"\""" & Datum & "\""," &
"\""" & Briefanrede & "\""," &
"\""" & Ablage & Dokument & "\""" &
")""¶" &
"end tell"
2. "AppleScript ausführen"
Wählen Sie das Optionsfeld "Feldwert" und geben Sie das Feld "Parameter" an.

Word

Hier dreht sich alles um das Makro "Brief" im Modul "fm2wd" im Add-In "FielMaker4You":
Public Sub Brief( _
   s_Anrede As String, _
   s_Titel As String, _
   s_Vorname As String, _
   s_Nachname As String, _
   s_Str As String, _
   s_Land As String, _
   s_PLZ As String, _
   s_Ort As String, _
   s_Betreff As String, _
   s_Zeichen As String, _
   s_Datum As String, _
   s_Briefanrede As String, _
   s_Dateipfad As String _
)
   On Error Resume Next
   ActiveDocument.FormFields("Anrede").Result = s_Anrede
   ActiveDocument.FormFields("Titel").Result = s_Titel
   ActiveDocument.FormFields("Vorname").Result = s_Vorname
   ActiveDocument.FormFields("Nachname").Result = s_Nachname
   ActiveDocument.FormFields("Str").Result = s_Str
   ActiveDocument.FormFields("Land").Result = s_Land
   ActiveDocument.FormFields("PLZ").Result = s_PLZ
   ActiveDocument.FormFields("Ort").Result = s_Ort
   ActiveDocument.FormFields("Betreff").Result = s_Betreff
   ActiveDocument.FormFields("Zeichen").Result = s_Zeichen
   ActiveDocument.FormFields("Datum").Result = s_Datum
   ActiveDocument.FormFields("Briefanrede").Result = s_Briefanrede
   ActiveDocument.FormFields("Dateipfad").Result = s_Dateipfad
   
   On Error Resume Next
   Kill s_Dateipfad
   
   ActiveDocument.SaveAs _
   FileName:=s_Dateipfad, _
   FileFormat:=wdFormatDocument
   
End Sub
Dieses VBA-Makro wird durch die Zeile
do Visual Basic "call FileMaker4You.fm2wd.Brief(Paramter)"
im oben beschriebenen AppleScript aufgerufen.

VBA-Makro in einem Add-In aufrufen und Parameter übergeben

Um einem VBA-Makro beim Aufruf einen Parameter zu übergeben, muß es mit call aufgerufen werden (run arbeitet nur ohne Parameter). Es folgen durch einen Punkt getrennt der Name des Add-Ins und des Moduls, in dem sich das VBA-Makro befindet, und schließlich der der Name des VBA-Makros. In der folgenden Klammer werden die in Anführungszeichen eingeschlossenen und durch Kommata getrennten Parameter übergeben.

Add-In in Word laden

Damit der Aufruf funktioniert, muß das Add-In in Word geladen sein. Legen Sie es dazu in den in der Word-Konfiguration als AutoStart definierten Ordner oder fügen Sie es über das Word-Menü "Extras" mit dem Befehl "Vorlagen und Add-Ins" hinzu. Abschließend muß noch ein Verweis auf das Add-In erstellt werden. Wählen Sie in Word aus dem Menü "Extras" den Befehl "Makro > VisualBasic-Editor". Wählen Sie wiederum im Menü "Extras" den Befehl "Verweise ...". Erstellen Sie einen Verweis auf das AddIn "FileMaker4You", indem Sie dort ein Kreuz eintragen.

Sie können mit folgendem VBA-Makro überprüfen, ob das Add-In geladen ist:
Sub AddInAvl()

   Dim s_avl As String
   For Each aAddIn In AddIns
      If aAddIn.Name = "FileMaker4You" Then
         s_avl = aAddIn.Name
         MsgBox ("Pfad des Add-Ins ""FileMaker4You"" ist angemeldet:" _
         & vbNewLine & "" & aAddIn.path)
         Exit For
      End If
   Next
   If s_avl = "FileMaker4You" Then
      If aAddIn.Installed = True Then
         MsgBox ("Das Add-In ""FileMaker4You"" ist geladen!")
      Else
         MsgBox ("Das Add-In ""FileMaker4You"" ist noch nicht geladen" _
         & vbNewLine & "und wird jetzt nachgeladen!")
         aAddIn.Installed = True
      End If
   Else
      MsgBox ("Das Add-In ""FileMaker4You"" ist nicht angemeldet!")
   End If
    
End Sub

Wir von FileMaker4You

hoffen, Ihnen mit dieser Anleitung weitergehofen zu haben. Über Fragen und Anregungen freuen wir uns!

Gerne dürfen Sie einen Link auf unsere Seite setzen. Besonders einfach haben Sie es, wenn Sie die untenstehenden HTML-Zeilen mit copy/paste in Ihre HTML-Seite kopieren:
<a href="www.filemaker-4-you.de/programmieren/filemaker-applescript-word.html"
    title="FileMaker-Daten mit AppleScript und VBA-Makro an Word-Formular übergeben">
FileMaker-Daten mit AppleScript und VBA-Makro an Word-Formular übergeben</a>


© 2004 by FileMaker 4 You - Datenbank Lösungen in Freiburg | Impressum | Nutzungsbedingen