Word-Dateien ausfüllen · 2017-01-02 · Inhalte nach Word oder Excel exportieren kann. Meine...

3
© 1994 – 2016 K&K Verlag GmbH, Hamburg Plugins Weblink Von Zeit zu Zeit gibt es Anfragen, ob man aus FileMaker Inhalte nach Word oder Excel exportieren kann. Meine Rückfrage lautet dann immer, was genau mit „expor- tieren“ gemeint ist. Mit dem MBS-Plugin und der LibXL ist es möglich, die Dateien von Microsoft Excel im alten und neuen Format zu lesen und zu schreiben – inklusive Formatierungen, Formeln, Bildern und allerlei anderen Funktionen. Aber auch für Word gibt es im MBS-Plugin ein paar Funk- tionen, mit denen eine docx-Datei eingelesen sowie Text er- setzt und wieder ausgeben werden kann. Extrahiert man den gesamten Text, kann man diesen für eine Volltextsuche in ei- nem Feld ablegen. Das ist zum Beispiel sehr nützlich für eine Datenbank zur Dokumentenverwaltung. Mithilfe des MBS- Plugins kommt man auch gut an die Texte von PDFs und Excel-Dateien heran, sowie an diverse Metadaten von Bildern und Filmen. In diesem Beitrag zeige ich Ihnen, wie man Platzhalter in einer Word-Datei austauscht. Manche unserer Kunden erstellen mit Word beispielsweise Zertifikate, die sie dann weiter ver- arbeiten. Dafür haben sie eine Word-Datei mit Platzhaltern, die per Plugin getauscht werden. Die fertige Word-Datei wird anschließend gedruckt. Natürlich kann man das oft besser direkt in FileMaker machen und ein PDF erzeugen, aber manche Kunden haben bereits einen Workflow, der auf Word aufbaut. Schritt 1: Datei öffnen Die Funktion „WordFile.OpenContainer“ im MBS-Plugin lädt eine Word-Datei aus einem Container. Dabei wird die ganze Datei in den Arbeitsspeicher geladen, sodass das Feld oder die Variable, aus dem/der die Datei gelesen wurde, an- schließend nicht mehr notwendig ist. Einen zweiten Weg, die Datei einzulesen, stellt die Funktion „WordFile.OpenFile“ zur Verfügung, die die Datei von einem beliebigen Pfad auf der Festplatte öffnet. Im Anschluss prüfen wir noch, ob es einen Fehler gab: u Variable setzen [$w; Wert: MBS( "WordFile.OpenContainer"; WordFile::Input ) u Wenn [ MBS("ISError") ] u Eigenes Dialogfeld anzeigen ["Fehler beim Einlesen der Word-Datei"; $w] u Aktuelles Script verlassen u Ende (wenn) Schritt 2: Text auslesen Wenn Sie den Text der Datei extrahieren möchten, steht Ihnen die Funktion „WordFile.Texts“ zur Verfügung. Damit wird das Plugin dazu aufgerufen, alle Bestandteile des Dokuments inklusive der Fuß- und Kopfzeilen durchzugehen und den gefundenen Text zurückzugeben. Dieser Text kann in einer Variable oder in einem Feld gesichert und später zum Suchen benutzt werden. 1 Variable setzen [ $text; Wert: MBS( "WordFile.Texts"; $w )] Schritt 3: Text ersetzen Als Platzhalter verwenden wir Texte, die in französische An- führungszeichen eingeschlossen sind, zum Beispiel «PLZ» oder «Anrede». Der Text zum Ersetzen kann nur einzeilig sein, sodass für mehrere Zeilen auch mehrere Platzhalter ver- wendet werden müssen. Zum Beispiel ersetzt das folgende Script die Platzhalter «PLZ», «Ort» und «Straße» mit den Werten aus der Datenbank: Word-Dateien ausfüllen Ein Tipp zum MBS-Plugin Christian Schmitz (Jg. 1981) entwickelt seit 11 Jahren Software und seit 2006 auch FileMaker Plugins. Außerdem Plugins für Real Studio und allerlei Software für Mac OS X, Windows, Linux und iOS. [email protected] MBS-Plugin 38 FMM_201606

Transcript of Word-Dateien ausfüllen · 2017-01-02 · Inhalte nach Word oder Excel exportieren kann. Meine...

Page 1: Word-Dateien ausfüllen · 2017-01-02 · Inhalte nach Word oder Excel exportieren kann. Meine Rückfrage lautet dann immer, was genau mit „expor- ... Aber auch für Word gibt es

© 19

94 –

2016

K&K

Verla

g Gmb

H, Ha

mburg

Plugins

Weblink

Von Zeit zu Zeit gibt es Anfragen, ob man aus FileMaker Inhalte nach Word oder Excel exportieren kann. Meine Rückfrage lautet dann immer, was genau mit „expor-tieren“ gemeint ist. Mit dem MBS-Plugin und der LibXL ist es möglich, die Dateien von Microsoft Excel im alten und neuen Format zu lesen und zu schreiben – inklusive Formatierungen, Formeln, Bildern und allerlei anderen Funktionen.

Aber auch für Word gibt es im MBS-Plugin ein paar Funk-tionen, mit denen eine docx-Datei eingelesen sowie Text er-setzt und wieder ausgeben werden kann. Extrahiert man den gesamten Text, kann man diesen für eine Volltextsuche in ei-nem Feld ablegen. Das ist zum Beispiel sehr nützlich für eine Datenbank zur Dokumentenverwaltung. Mithilfe des MBS-Plugins kommt man auch gut an die Texte von PDFs und Excel-Dateien heran, sowie an diverse Metadaten von Bildern und Filmen.

In diesem Beitrag zeige ich Ihnen, wie man Platzhalter in einer Word-Datei austauscht. Manche unserer Kunden erstellen mit Word beispielsweise Zertifikate, die sie dann weiter ver-arbeiten. Dafür haben sie eine Word-Datei mit Platzhaltern, die per Plugin getauscht werden. Die fertige Word-Datei wird anschließend gedruckt. Natürlich kann man das oft besser direkt in FileMaker machen und ein PDF erzeugen, aber manche Kunden haben bereits einen Workflow, der auf Word aufbaut.

Schritt 1: Datei öffnenDie Funktion „WordFile.OpenContainer“ im MBS-Plugin lädt eine Word-Datei aus einem Container. Dabei wird die ganze Datei in den Arbeitsspeicher geladen, sodass das Feld oder die Variable, aus dem/der die Datei gelesen wurde, an-schließend nicht mehr notwendig ist. Einen zweiten Weg, die

Datei einzulesen, stellt die Funktion „WordFile.OpenFile“ zur Verfügung, die die Datei von einem beliebigen Pfad auf der Festplatte öffnet. Im Anschluss prüfen wir noch, ob es einen Fehler gab:

u Variable setzen[$w; Wert: MBS( "WordFile.OpenContainer"; WordFile::Input )

u Wenn[ MBS("ISError") ]

u Eigenes Dialogfeld anzeigen["Fehler beim Einlesen der Word-Datei"; $w]

u Aktuelles Script verlassen

u Ende (wenn)

Schritt 2: Text auslesenWenn Sie den Text der Datei extrahieren möchten, steht Ihnen die Funktion „WordFile.Texts“ zur Verfügung. Damit wird das Plugin dazu aufgerufen, alle Bestandteile des Dokuments inklusive der Fuß- und Kopfzeilen durchzugehen und den gefundenen Text zurückzugeben. Dieser Text kann in einer Variable oder in einem Feld gesichert und später zum Suchen benutzt werden.

1 Variable setzen[ $text; Wert: MBS( "WordFile.Texts"; $w )]

Schritt 3: Text ersetzenAls Platzhalter verwenden wir Texte, die in französische An-führungszeichen eingeschlossen sind, zum Beispiel «PLZ» oder «Anrede». Der Text zum Ersetzen kann nur einzeilig sein, sodass für mehrere Zeilen auch mehrere Platzhalter ver-wendet werden müssen. Zum Beispiel ersetzt das folgende Script die Platzhalter «PLZ», «Ort» und «Straße» mit den Werten aus der Datenbank:

Word-Dateien ausfüllenEin Tipp zum MBS-Plugin

Christian Schmitz(Jg. 1981) entwickelt seit 11 Jahren Software und seit 2006 auch FileMaker Plugins. Außerdem Plugins für Real Studio und allerlei Software für Mac OS X, Windows, Linux und iOS.

[email protected]

38 FMM_201606

Nachdruck FMM
Page 2: Word-Dateien ausfüllen · 2017-01-02 · Inhalte nach Word oder Excel exportieren kann. Meine Rückfrage lautet dann immer, was genau mit „expor- ... Aber auch für Word gibt es

Plugins

u Variable setzen[ $r; Wert: MBS( "WordFile.ReplaceTag"; $w; "PLZ“, Adresse::PLZ )]

u Variable setzen[$r; Wert: MBS( "WordFile.ReplaceTag";$w; "Ort", Adresse::Ort )]

u Variable setzen[$r; Wert: MBS( "WordFile.ReplaceTag";$w; "Straße", Adresse::Straße )]

Schritt 4: SpeichernDas fertige Word-Dokument lässt sich mit „WordFile.Write File“ auf der Festplatte speichern. Bitte beachten Sie, dass das MBS-Plugin immer einen nativen Pfad wählt und ein FileMaker Pfad eventuell angepasst werden muss:

u Variable setzen [$r; Wert: MBS("WordFile.WriteFile";$w; "/Users/cs/Desktop/TestOutput.docx")]

Schritt 5: AufräumenZum Schluss sollten Sie noch den Arbeitsspeicher freigeben. Übergeben Sie einfach die Referenznummer vom Öffnen der Word-Datei an die Funktion „WordFile.Release“. Die Num-mer haben Sie weiter oben im Skript von der Funktion Word-File.OpenContainer bekommen. Die Nummer ist anschlie-ßend nicht mehr gültig, weil das Objekt freigeben wurde:

u Variable setzen[$r; Wert: MBS("WordFile.Release“; $w)]

FazitNatürlich bietet das MBS-Plugin noch mehr Funktionen rund um Word. Aber bereits die vorgestellten Funktionen er-lauben es Ihnen, eine Art Serienbrief für Word in FileMaker zu realisieren. Damit erstellen Sie zu einer Liste von Datensät-zen und einer Word-Vorlage viele einzelne Word-Dateien und können diese weiter verarbeiten.

Vorher und nachher: Das Plugin hat die Platzhalter (links) mit dem richtigen Text (rechts) ausgefüllt und die Stilinfor-mationen sind erhalten geblieben. ♦

FMM_201606 39

Nachdruck FMM
Page 3: Word-Dateien ausfüllen · 2017-01-02 · Inhalte nach Word oder Excel exportieren kann. Meine Rückfrage lautet dann immer, was genau mit „expor- ... Aber auch für Word gibt es

© 1

994

- 200

8 K

&K

Ver

lag

Gm

bH, H

ambu

rgD

euts

chla

nd e

9,5

0 |

ww

w.f

ilem

aker

-mag

azin

.de

Geschüttelt, nicht gerührt …

FileMaker für Einsteiger

Wie Sie in FileMaker Ihre ersten „Felder bestellen“

Gut zu wissen

Ist Maintenance eigentlich ansteckend?

2008

01

Das unabhängige Magazin für FileMaker Anwender und Entwickler FMM_200801

Buchbesprechungen

Neue Fachbücher zu FileMaker 9

FMM_2008_01.Titel.indd 1 29.04.2008 10:09:42 Uhr

Wenn Sie sich für ein FileMaker Magazin Abo interessieren, klicken Sie bitte hier!

Hier finden Sie Aktuelles zu FileMakerProdukten, egal ob Sie kaufen, mieten oder sich einfach informieren möchten.

Eine kostenlose Lese probe des FileMaker Magazins erhalten Sie, wenn Sie hier klicken.

Das FileMaker Magazin● Einzige, deutschsprachige Fachzeitschrift zu FileMaker● Wissen aus erster Hand von anerkannten FileMaker Fachautoren● Große Themenvielfalt für Anwender, Entwickler und Fortgeschrittene

Exklusiv für Premium-Abonnenten● Sechs FMM Ausgaben pro Jahr● Kostenlose Nutzung des Abonnentenbereichs auf www.filemaker-magazin.de●

PDF-Online-Archiv mit allen bisher erschienenen Ausgaben Jede Ausgabe mit kostenlosen Beispieldateien und Zusatzinfos zum Download

Unser Service● Aktuelle Neuheiten, Tipps und Infos, Kleinanzeigen und vieles mehr jederzeit online auf unseren Webseiten● Hilfe bei allen Fragen zu FileMaker im FMM Forum ● Kompetente Beratung zum Kauf von FileMaker Lizenzen: Einfach anrufen +49 (0)40 589 65 79 70.

K&K Verlag GmbH · www.filemaker-magazin.de · Telefon +49 40 589657970