Wenn du meinst. (Das Makro lief unter Word 2000 und muss jetzt auf die Struktor von OOo umgebaut werden.)
Ausgangspunkt ist eine Calc-Tabelle "Klassenlisten" (für jede Klasse ein Arbeitsblatt) mit den Spalten: Name, Vorname, Englisch, Russisch usw. (also der Liste der Fächer). Bei manchen Fächern gibt es Teilungsunterricht. In den Zellen steht 'x', wenn das Fach gemeinsam unterrichtet, oder ein Kürzel bei Teilungsunterricht (z.B. Sport: J=Jungen, M=Mädchen). Es gibt auch leere Zellen; dann nimmt die Schülerin an diesem Unterricht nicht teil.
Aufgabe 1: Für jede Klasse, jedes Fach und ggf. jede Gruppe ist ein Word-Dokument zu erstellen. (Es muss
doc sein, weil die Lehrer damit arbeiten.)
Kopfzeile: Klasse 4 <Kürzel> <tab> <Fach> <tab> <Lehrer>
Serienbrief-Inhalt:
<Name>, <Vorname> Zeilenumbruch
<Vorname> hat am ... Unterricht teilgenommen. <Nächster Datensatz> <Absatzende>
Der Inhalt wird entsprechend oft auf einer Seite wiederholt; die Formulierung "hat teilgenommen" variiert. (Auch das will ich vom Makro steuern.) Die Daten werden aus dem Arbeitsblatt geholt, entweder über einen Filter (ich habe noch nichts gefunden, wie ich in einem Makro den Filter festlegen kann) oder über einen SQL-Befehl mit passendem WHERE (das ist für mich einfach).
Vorgesehener Arbeitsablauf:
- Auswahl einer Klasse (also eines Arbeitsblatts) - darauf beziehen sich meine o.g. Fragen 3/4
- Schleife über alle Fächer und Gruppen - darauf bezieht sich Frage 5
- Für jedes Fach und ggf. jede Gruppe wird eine separate Auswahl getroffen - darauf bezieht sich Frage 6 -, welche Daten in den Serienbrief-Text eingefügt werden.
- Das Ganze wird als Word-Dokument gespeichert. Wie das per Makro geregelt wird, vor allem die Serienbrief-Funktion dabei, habe ich noch nicht untersucht; deshalb gibt es dazu noch keine Frage.
Das ist eine Vorarbeit für die späteren Arbeiten, die ich hier nur der Vollständigkeit erwähne. Dazu will ich noch nichts fragen, weil ich einen Punkt nach dem anderen erledigen möchte.
Aufgabe 2: Für jede Klasse wird ein Word-Dokument erstellt. Für jeden Schüler gibt es eine Seite (oder auch mehrere) mit einem Absatz für jedes Fach; in der Kopfzeile steht der Name der Schülerin.
Aufgabe 3: Die Fachlehrer tragen in das Dokument, das in Aufgabe 1 erstellt wurde, die Beurteilung ihrer Schüler ein. (Es ist eine Waldorfschule; also gibt es keine Noten, sondern Texte.) Diese Texte müssen an die entsprechende Stelle in das Dokument nach Aufgabe 2 kopiert werden (passendes Klassendokument öffnen, suche den Schüler, suche das Fach).
Mir ist inzwischen durch den Kopf gegangen, dass es einfacher sein könnte, den Text mit einer Abfrage zu verknüpfen und die Abfrage per SELECT aus der Calc-Tabelle zu holen; auch daraus ergeben sich meine Fragen (zumal es eine Umstellung des Vorgehens gegenüber dem Word-Makro ist).
Ich hoffe, diese Angaben helfen bei Antworten. Schönes Wochenende! Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC