Benutzer-Werkzeuge


Sidebar

ASV-Webseite

Dokumentation

Hilfe



Druck/Export

Drucken/PDF erzeugen

Die Office-Schnittstelle - Serienbrief mit Word

Mit der Office-Schnittstelle ist es möglich, mit MS-Word erstellte Serienbriefe (genauer: Dokumente mit Serienbrieffeldern) in ASV zu importieren und die mit Daten versehenen Dokumente wieder als Word-Datei zu exportieren.

Voraussetzungen

  1. Das Quelldokument muss mit mit MS-Word >= Version 2007 erstellt und im docx-Format gespeichert sein.
  2. Es werden ausschließlich Felder vom Typ MERGEFIELD verarbeitet. (Details siehe unten im Artikel)
  3. Der Export der fertigen Serienbriefdateien funktioniert nur mit einer Client/Server-Installation der ASV wie sie im Regelfall in einer Schule vorliegt. Er funktioniert nicht mit der herunterladbaren Testversion (Standalone).

Erstellen des Quelldokuments

Schablone in Word

Erstellen Sie in Word zunächst in gewohnter Weise eine Schablone. Die Felder, die später durch Daten aus ASV ersetzt werden sollen, bekommen vorläufig einen Namen, z.B. «AnredebeiAnschrift» (Achtung: nicht direkt in Word eintippen, sondern als Merge-Field einfügen!). Da diesem Namen später ein ASV-Feld zugeordnet werden muss, sollte er möglichst selbsterklärend sein.

Einfügen von Feldern der Art "Merge-Field"

Um ein Merge-Field einzufügen, das später mit den Daten der ASV gefüllt werden soll, gehen Sie wie folgt vor:

Stellen Sie den Cursor an die Stelle im Word-Dokument, an der das Feld eingefügt werden soll und wählen Sie im Menü EinfügenSchnellbausteineFeld. (Dies kann in anderen Word-Versionen abweichen!)

mergefield.jpg

Es öffnet sich der Dialog zum Einfügen eines Feldes. Wählen Sie in der Klappliste die Kategorie Seriendruck und in der Liste darunter den Feldnamen Mergefield. Geben Sie bei Feldeigenschaften als Feldname z.B. rufname ein.



Es ist hilfreich, die gleichen Feldnamen wie in ASV zu verwenden, damit ASV das Feld automatisch zuordnen kann. Sie können den ASV-Namen z.B. mit Hilfe der Feldliste in einem Testbericht ermitteln. Wenn Sie einen anderen Namen verwenden, können Sie die Zuordnung auch später in ASV vornehmen.

Übernehmen Sie die restlichen Einstellungen und klicken Sie OK.
Im Word-Dokument erscheint nun der Feldname in spitzen Anführungszeichen « ».

Fügen Sie auf die gleiche Weise weitere Felder ein.

Speichern Sie die Datei im Format docx ab.

Import in ASV

Öffnen Sie in ASV die Berichtsbibliothek – Verwaltung (Datei – Verwaltung – Berichtsbibliothek).
Wählen Sie im Navigator den gewünschten Datenbereich.
Wählen Sie im Menü Modulbezogene Funktionen – Export/Import – Office-Schablone importieren.


Wählen Sie im Dateiauswahldialog die zuvor gespeicherte Word-Datei und klicken Sie auf Öffnen.


Anschließend ist der Bericht im Navigator unter dem Namen der Word-Datei zu finden. Evtl. befindet er sich zunächst ganz unten in der Berichtsliste.


Zuordnen (Mapping) der Felder

Nun ist einmalig eine Zuordnung der in Word enthaltenen Felder zu den ASV-Feldern herzustellen. Wurde bei der Erstellung der Felder in Word der gleiche Name verwendet wie er in ASV existiert, wird ASV versuchen, diese Zuordnung automatisch zu treffen. Sie sollten die zugeordneten Felder aber in jedem Fall überprüfen. In allen anderen Fällen müssen Sie diese Zuordnung manuell erstellen.

Gehen Sie wie folgt vor:

Wählen Sie in der Berichtsbibliothek-Verwaltung den importierten Word-Bericht.

Klicken Sie auf die Schaltfläche Bearbeiten


Es öffnet sich der Dialog zur Zuordnung (Mapping) der Felder. Im Beispiel ist zu sehen, dass ASV anhand der Feldnamen einzelne Felder bereits automatisch zugeordnet hat (strasse, hausnummer, plz, ort, rufname). Bei näherem Hinsehen entpuppt sich aber diese Zuordnung als teilweise falsch, da es z.B. in ASV das Feld PLZ mehrfach gibt. Uns interessiert in Wirklichkeit das Feld Erziehungsberechtigte/r Anschrift PLZ. In der Spalte Feld stehen die in Word verwendeten Feldnamen, in der Spalte Datenfeld die Feldnamen von ASV.


Ordnen Sie nun die fehlenden Datenfelder zu bzw. korrigieren Sie die falschen:

Klicken Sie in die leere Zeile rechts neben das zuzuordnende Feld und anschließend auf das Symbol.

Wählen Sie im Felddialog das zuzuordnende Feld durch Doppelklick aus. (Nutzen Sie die Filterzeile, um die Auswahl an Feldern einzuschränken!)


Ordnen Sie auf gleiche Weise die restlichen Felder zu und klicken Sie auf OK.


Der Bericht/Serienbrief ist nun einsatzbereit!

Ausführen des Berichts mit Export der Serienbriefdokumente

Beim Ausführen des Serienbrief-Berichts werden die Serienbrieffelder gemäß der oben vorgenommenen Feldzuordnungen mit ASV-Daten gefüllt und als einzelne Word-Dateien exportiert.

Gehen Sie zum Ausgeben der Serienbriefe zunächst vor wie bei einem gewöhnlichen Bericht:

Öffnen Sie die Berichtsbibliothek - Auswertungen. (rotes Buch)

Wählen Sie im Navigator den korrekten Datenbereich und dort den Serienbrief-Bericht.

Wechseln Sie auf den Reiter Berichtsschablone/Paket anwenden.

Klicken Sie auf die Schaltfläche Ausgabeeinstellungen ändern. Im folgenden Dialog können Sie mittels Verzeichnis auswählen festlegen, in welchem Verzeichnis die Serienbriefe ausgegeben werden sollen.


Tipp: Legen Sie hierfür einen gesonderten Ordner an!

Hinweis: Die Einstellungen Vorschau, Drucker, Datei (pdf) etc. sind für die Ausgabe von Serienbriefen ohne Bedeutung!

Wählen Sie die Schüler (/Lehrer/Klassen/…) aus, für welche Sie den Serienbrief ausgeben möchten und klicken Sie auf die Schaltfläche Anwenden.

.

Nun wird pro ausgewählten Schüler (/Lehrer/…) eine Word-Datei im vorher ausgewählten Verzeichnis erstellt.

.

Diese Dateien tragen den Namen des Berichts, den des Schülers (/Lehrers/Klasse/…) und einen Zeitstempel.


Diese Dateien können Sie nun in Word wie gewohnt öffnen, ggf. weiter bearbeiten und drucken.
Sie können diese Dateien „in einem Rutsch“ drucken, indem Sie alle auswählen und im Kontextmenü (Rechtsklick) des Windows-Explorers Drucken anklicken.

Hier sehen Sie das Ergebnis:

Tipp: Bei bearbeitbaren Office-Vorlagen (dafür muss der Bericht evtl. zuerst exportiert und dann mit anderem Namen neu importiert werden) kann die „Ausführung je Datensatz“ deaktiviert werden: In der Berichtsbibliothek-Verwaltung (weißes Icon) gibt es unter Besonderheiten diesen Punkt, bei dem (im Bearbeitungsmodus) das Häkchen entfernt werden kann. Dann werden alle Ausdrucke in einer Datei zusammengefasst.

Bei getrennt lebenden Erziehungsberechtigten wird nur für den Hauptansprechpartner ein Serienbrief erstellt.

Für den Schriftverkehr mit Eltern empfiehlt es sich grundsätzlich, sich solche Schüler vorzumerken, um beide Erziehungsberechtigte zu informieren. Nutzen Sie hierzu den Filter „getr. leb. Eltern“ und exportieren Sie sich diese Schüler.

Spezialfälle mittels Skripting

ASV kann nicht für alle Bedürfnisse die passenden Felder bieten. Um Spezialfälle wie z.B. die Ausgabe des aktuellen Druckdatums oder eigener Bausteine (z.B. „Ihr Sohn“ bzw. „Ihre Tochter“) realisieren zu können, ist ein wenig Skripting erforderlich. Dies sieht auf den ersten Blick kompliziert aus, mit Hilfe der folgenden Beispiele sollten sich jedoch relativ leicht die eigenen Bedürfnisse abdecken lassen.

Vorgehen

Definieren Sie zunächst – wie oben gezeigt – in Word geeignete Felder. Im Beispiel soll das markierte Feld später je nach Geschlecht des Schülers durch den Text „Ihr Sohn“ bzw. „Ihre Tochter“ ersetzt werden:


Importieren Sie die Schablone in ASV (siehe oben), öffnen Sie die Berichtsbibliothek-Verwaltung und öffnen Sie den Dialog zum Bearbeiten der Schablone.

Im Dialog zum Zuordnen der Felder befindet sich nun auch das Feld „SohnTochter“ in der Liste. Da ASV kein geeignetes Feld zur Verfügung stellt, muss dieses durch Skripting generiert werden. Klicken Sie hierzu nun auf die Schalftfläche mit den drei Punkten.


Es öffnet sich ein leeres Textfenster. Fügen Sie in dieses folgenden Text ein:

return (obj.schuelerStamm.m_w.kurzform == "M") ? "Ihr Sohn" : "Ihre Tochter"



  • Wichtig:
    • Übernehmen Sie den Text exakt so, wie er angegeben ist – inklusive der Leerzeichen!
    • Im Textfenster erscheinen die Anführungszeichen immer als „obere“ Anführungszeichen (englische Notation) – dies ist so in Ordnung.
  • Erläuterung:
    • Das einleitende return übergibt das Ergebnis der folgenden Anweisung an den Bericht.
    • obj.schuelerStamm.m_w.kurzform == „M“ „fragt“ beim aktuellen Schüler in der Datenbank nach, ob sein Geschlecht männlich ist.
    • „Ihr Sohn“: Wenn die Antwort der Datenbank positiv ausfällt, soll der Text „Ihr Sohn“ zurückgegeben werden.
    • „Ihre Tochter“: Wenn die Antwort der Datenbank negativ ausfällt, d.h. das Geschlecht ist nicht männlich, soll der Text „Ihre Tochter“ zurückgegeben werden.

Schließen Sie das Textfenster und den Einstellungsdialog wie oben und wenden Sie den Bericht auf einen oder mehrere Schüler an.

Ergebnis:


Weitere Beispiele für Skripting

  • Aktuelles Datum ausgeben:
    return new Date().format("dd.MM.yyyy")
  • Aktuelles Datum + 10 Tage ausgeben:
    datum = new Date()
    datum = datum + 10
    return datum.format("dd.MM.yyyy")
  • Ersetzung je nach Geschlecht: „Der Schüler“ bzw. „Die Schülerin“:
    return (obj.schuelerStamm.m_w.kurzform == "M") ? "Der Schüler" : "Die Schülerin"
  • Geburtsdatum des Schülers:
    return obj?.schuelerStamm?.geburtsdatum.format("dd.MM.yyyy")
  • Aktuelles Schuljahr:
    return obj.schuljahr.kurzform
  • Erster Tag des Schuljahres:
    Anmerkung: Da das Datum für den letzten (Schul-)Tag des Schuljahres in der Datenbank nicht hinterlegt ist, kann für diesen Fall kein Code erstellt werden.
    def Date ersterST = new Date()
    ersterST = obj.schuljahr.ersterSchultag
    return ersterST.format('dd.MM.yyyy')
  • Vorname und Name des Klassenleiters/der Klassenleiterin:
    return obj.klassengruppe.klasse.klassenleitungName