home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 10 / anwendg / steuerda.asc next >
Encoding:
Text File  |  1989-07-19  |  8.5 KB  |  40 lines

  1. ,,bSo sieht eine Steuerdatei aus, von der Word 4.0 sich Adressen zum Einfügen in Serienbrieftexte holt
  2.  
  3. ,,bDer Kopf eines Serienbrieftexts: Die Anordnung der Variablenfelder bestimmt die Plazierung der Daten beim Ausdruck
  4.  
  5. ,,dvon dBase-Datensätzen zu Word-Steuerdateien
  6. ,,uSerienbriefe "kompatibel"
  7. ,,avon Jürgen Liskowskis
  8. ,,eWer seine Zeit nicht damit verbringen mag, Adressen für eine Serienbriefversendung von Hand in einen Steuertext einzutippen, wird nach einer Möglichkeit Ausschau halten, seinen PC diese sture Arbeit erledigen zu lassen. Mittlerweile gibt es einige Programme auf dem Markt, die eine speziell für Word angepaßte Adreßverwaltung bieten. Mit wenig Aufwand, einigen Basic-Befehlen und dem Datenbankprogramm dBASE III+ läßt sich solch eine Anpassung aber auch selbstschneidern.
  9. ,,gD,,nie Textverarbeitung Word 4.0 von Microsoft bietet die Möglichkeit, Serienbriefe recht bequem drucken zu lassen. Word benötigt allerdings - quasi als Nachschlagewertk für die einzufügenden Adressen - eine Steuerdatei, in der die benötigten Daten in einem festgelegten Format niedergelegt sein müssen. Leider leisten die Word-Handbücher gerade dort, wo es um die Erstellung einer solchen Steuerdatei geht, nicht immer gute Dienste. Beispielsweise ist die Handhabung des Semikolons, das die einzelnen Datenfelder im Steuertext voneinander trennt, falsch beschrieben. Aber nun einmal zur Sache: In welcher Form möchte Word 4.0 eine Steuerdatei vorfinden?
  10. ,,vDie erste Zeile des Steuertexts besteht aus den Namen der Variablen, die jeweils durch ein Semikolon getrennt sind. Danach folgen die Adreßdaten. Der Datensatzaufbau muß genau der Anzahl und Reihenfolge der Variablen entsprechen. Im Gegensatz zu dem, was im Handbuch steht, darf nach dem letzten Variablennamen kein Semikolon mehr stehen!
  11. ,,vNachdem man so die benötigten Adressen als Steuertext geschrieben hat, bekommt dieser Text einen Namen und wird als Datei abgespeichert. Die gute alte Handarbeit in Form von Datensatz-Abtippgymnastik ist ein Weg, zu einer Steuerdatei zu kommen -- glücklicherweise nicht der einzige, aber dazu später mehr. Jetzt verdienen zunächst die Steuerbefehle im Serienbrieftext einen genaueren Blick.
  12. ,,v,,zVerteiler mit Argusaugen
  13. ,,nDie erste Anweisung besteht aus dem Schlüsselwort «STEUERDATEI Name.Ext» und der Angabe des Dateinamens mit der Extension. Der Befehl wird mit den Zeichen « (Ctrl-A) und » (Ctrl- S) umschlossen. Das gleiche gilt auch für die Variablen, deren Namen den in der Steuerdatei angegebenen entsprechen. Beim Druck werden die Variablen durch den Text, der in der Steuerdatei steht, ausgetauscht. Word setzt die Daten genau dorthin, wo man die Variablen im Serienbrieftext plaziert hat.
  14. ,,vSo weit, so gut. Wie sieht es denn nun aus mit der Möglichkeit, aus bereits vorhandenen Datenbeständen Steuerdateien für die Word-Serienbrieffunktion zu gewinnen? Wer dBase III+ besitzt, verwaltet möglicherweise auch seine Adressen damit. Das benötigte Adreßmaterial liegt also bereits in Dateiform vor, nur wie kommt Word an die Daten heran? Der Befehlszusatz "SDF" oder "delimited" in dBase kann das Problem nicht zufriedenstellend lösen. Mit Makros kommt man der Sache jedoch näher.
  15. ,,vDBase III + bietet die Möglichkeit, über Makros eine Dateiprogrammierung zu realisieren. Mit einem entschlossenen Griff in die Makrokiste gilt es nun, dem Serienbriefproblem zu Leibe zu rücken. Das Ergebnis ist das dBase-Programm WORD.PRG. Aber eins nach dem anderen.
  16. ,,v,,xMakrophile Überlegungen
  17. ,,xDer erste Schritt ist die Initialisierung der Makronamen im dBase-Programm. Da ein Dateiname nur acht Stellen lang sein darf, wird ein Leerstring von acht Zeichen in die beiden Makros DATEINAME und STEUER gebracht. Das Makro FARBE wird mit 20 Stellen gefüllt. Dies ist möglich, da sich hier die Schreibweise individuell gestalten läßt.
  18. ,,vDer nächste Block besteht aus allgemeinen dBase-Anweisungen zur Initialisierung des Systems. Diese Befehle löschen die Statuszeile, bringen das Datumsformat auf die deutsche Anzeigeform, schalten die obere Anzeigezeile ab und schränken die Kommunikationsfreudigkeit von dBase ein.
  19. ,,vDie Funktion ISCOLOR() liefert uns den Wert .T. (logisch wahr), falls sich eine Farbkarte im System befindet. Wir bekommen den Wert .T. auch, wenn die Farbkarte emuliert wird, wie es beispielsweise beim Olivetti M24 geschieht. In Abhängigkeit von dem Wert, der bei dieser Funktion zurückgegeben wird, wird dem Makro FARBE ein String zugewiesen, in dem sich die Farbwerte befinden. Anschließend wird das Makro ausgeführt. 
  20. ,,v,,xVerrate mir die Namen...
  21. ,,nEs folgt nun der Aufbau einer Maske, in der das Programm den gewünschten Dateinamen vom Benutzer abfragt. Mit der Funktion IF FILE ("...") läßt sich feststellen, ob die gewünschte Datei schon auf der aktuellen Festplatte oder Diskette vorliegt. Es kann natürlich auch ein Auszug aus einer schon vorhandenen Adreßdatei Verwendung finden. Dazu wird diese von dBase aus kopiert. Mit folgenden einfachen dBase-Befehlen läßt sich dies erreichen:
  22. ,,lUSE ADRESS COPY TO ADRESS1 FIELDS VORNAME, NAME, PLZ, ORT USE RENAME ADRESS1.DBF TO ADRESS1.WRD 
  23. ,,v,,nEinen eventuellen Auszug aus der aktuellen Adreßdatei muß man natürlich vor dem Start des Programms vornehmen. Die Extention .WRD wurde hier gewählt, um keine Verwechslung mit anderen dBase - Dateien zu provozieren. Man kann aber fast jede Extention benutzen, solang man sich die von DOS, dBase oder Word reservierten verkneift.
  24. ,,vDer Benutzer nennt dem Programm den Namen der Steuerdatei. Da die Adreßdatei ja schon geöffnet ist, kann die Struktur der Adreßdatei schon in die Steuerdatei kopiert werden. Die hier zugefügte Extention '.TXT' erleichtert die Benutzung des Makros bei allen weiteren Aufrufen. Nur Textfiles mit der Kennzeichnung '.TXT' werden von Word beim Befehl "Übertragen-Laden" defaultmäßig angezeigt.
  25. ,,v,,xMosaikspiel
  26. ,,nDie Struktur der Adreßdatei liegt nun in der Steuerdatei vor und ist bereit zur Benutzung. Die Feldnamen werden in eine temporäre ASCII - Datei mit den Namen TEMP1.TXT kopiert. Die Variablen liegen nun in folgender Form vor: 
  27. ,,l"VORNAME" "NAME" "PLZ" "ORT" 
  28. ,,v,,nDer erste Schritt ist getan, die Struktur wird nicht mehr benötigt. Von der Adreßdatei werden nun die Datensätze als ASCII-Text in eine temporäre Datei kopiert. Diese bekommt den Namen TEMP2.TXT und hat schließlich folgendes Aussehen: 
  29. ,,l"Berndt","Berger","Waldweg 6","7878","Waldeshausen"
  30. "Dieter","Wasch","Bergstr. 6","8888","Hinterkirchen"
  31. "Gerda","Müller","Talstr. 4","5656","Beispielort"
  32. ,,v,,nNach dem Kopieren wird die temporäre Datei wieder geschlossen. Eine kleine BASIC - Routine übernimmt nun die Aufgabe, die beiden temporären ASCII - Dateien zu einer umzubauen. Aus den Variablennamen in TEMP1.TXT wird zunächst ein String gebildet. Die Anführungszeichen fallen weg, dafür kommt jeweils ein Semikolon zwischen die Variablennamen. Hinter den letzten Variablennamen darf kein Semikolon gesetzt werden. Nach dem Schreibbefehl liegt dann die Datei TEMP1.TXT so vor, wie die erste Zeile der Steuerdatei aussehen muß. Anschließend ist dann die Textdatei mit den eigentlichen Adreßdaten an der Reihe. Auch hier werden die Anführungszeichen gelöscht und die Kommata durch Semikolons getauscht. Die einzige Einschränkung für diese Routine ist, daß im Text der Adressen natürlich kein Komma vorkommen darf. Aber in eine solche Verlegenheit wird man kaum kommen; selbst "GmbH & Ko.,KG" läßt sich auch ohne Komma richtig schreiben.
  33. ,,v,,zdBase und BASIC in Team-Arbeit
  34. ,,nZum Schluß muß noch aus beiden Dateien eine gemacht werden. Das geht mit dem DOS-Befehl 'COPY' am schnellsten. Die alten Dateien werden dann gelöscht. Das BASIC-Programm übergibt die Kontrolle nach getaner Arbeit wieder an dBase. Dort ist dann noch die zusammengesetzte temporäre Datei mit dem gewünschten Namen der Steuerdatei zu versehen. Ausatmen... -- fertig! 
  35. Wer es ganz komfortabel mag, kann dem dBase-Programm noch den Befehl
  36. ,,lRUN COPY &STEUER TO C:\WORD
  37. ,,nhinzufügen. Dann befindet sich die Steuerdatei in dem Verzeichnis, wo sie benötigt wird. Das Programm kann oft hintereinander benutzt werden. Falls eine Steuerdatei schon vorhanden ist, fragt dBase, ob man sie überschreiben will. Diese Abfrage läßt sich natürlich durch einen einfachen Löschbefehl übergehen. Manchem wird es aber lieber sein, noch einmal durch einen entsprechenden Hinweis gewarnt zu werden.
  38. ,,vDie Arbeitsgeschwindigkeit der hier gezeigten Lösung hält sich übrigens in einem durchaus akzeptablen Rahmen. Jeder, für den die dBase-Befehlen CREATE und COPY keine "böhmischen Dörfer" darstellen, kann so auf einfache Weise aus dBase-Adreßdateien "Word-freundliche" Steuerdateien machen und dadurch Tipparbeit sparen.
  39. (sz)
  40. íª7P