home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / bazy / adm / arexx / adm-arexxmakros.lha / ImExport / PageStream3_SerienbrExport.adm < prev    next >
Text File  |  1996-03-04  |  3KB  |  118 lines

  1. /* $VER: PageStream3_SerienbrExport.adm 1.0 (1.3.96)
  2.  
  3.    Exportiert Daten für PageStream3 zum Serienbriefdruck.
  4.  
  5.    - Dieses Makro vom ADM-Menü aus aufrufen und den Dateiname
  6.      auswählen. Das Makro erstellt dann diese Datei, die die
  7.      Adressdaten enthaelt.
  8.  
  9.    - Dann das MailMerge-Makro im PageStream3-Dokument ausführen (mit
  10.      "Makros/ARexx-Skript ausführen...") und im dann erscheinenden
  11.      Dateiauswahlfenster die hier erstellte Datei "Adressen.csv"
  12.      im Laufwerk "RAM:" auswählen.
  13.  
  14.      PageStream3 legt nun im Dokument Variablen an, die dann in den
  15.      Dokumententext eingefügt werden können und im "Serienbrief" dann
  16.      ersetzt werden.
  17.  
  18.    - Danach können mit dem Menüpunkt
  19.         "Variable einfügen » benutzerdefinierter Text..."
  20.      in PageStream3 die folgenden Variablen in den Text eingefügt
  21.      werden:
  22.  
  23.         «Firma»
  24.         «Anrede»
  25.         «Briefanrede» (*)
  26.         «Vorname»
  27.         «Nachname»
  28.         «Adresse1»
  29.         «Adresse2»
  30.         «PLZ»
  31.         «Ort»
  32.         «Telefon»
  33.         «Fax»
  34.         «EMail»
  35.  
  36.      zu (*): "Sehr geehrt«Briefanrede» «Anrede» «Nachname»"
  37.              ergibt korrekte Anrede/Begrüßung.
  38.  
  39.     -  Ein erneuter Aufruf des MailMerge-Makros startet den Seriendruck.
  40.  
  41.  
  42.    von Jan Geißler.
  43. */
  44.  
  45. OPTIONS RESULTS
  46.  
  47. ACTIVATEFIRST
  48. ADDRINMEM
  49. anzahl = RESULT
  50.  
  51.  
  52. /* RexxReqTools-Library öffnen */
  53.  
  54. reqname = "rexxreqtools.library"
  55. if ~show("L", reqname) then
  56.   if ~addlib(reqname, 0, -30, 0) then do
  57.      say reqname "not found!"
  58.      EXIT
  59.   end
  60.  
  61.  
  62. /* Filename-Filerequester */
  63.  
  64. NL        = "0a"x
  65. rqdir     = "ram:"
  66. rqtitle   = "PageStream3-Serienbriefdatei abspeichern"
  67. rqfile    = "Adressen.csv"
  68. rqok      = "Speichern"
  69. rqflags   = "rtfi_flags=freqf_save"
  70.  
  71. filename = rtfilerequest(rqdir,rqfile,rqtitle,rqok,rqflags,)
  72. if filename = "" then do
  73.   call rtezrequest("Keine Datei ausgewählt", "Abbruch")
  74.   EXIT
  75. end
  76.  
  77. IF ~OPEN(file,filename,"W") THEN DO   /* Ausgabedatei öffnen     */
  78.    SAY "Kann Ausgabedatei nicht öffnen!"
  79.    EXIT
  80. END
  81.  
  82. dd = "09"x
  83.  
  84. text = "Firma" || dd || "Anrede" || dd || "Briefanrede" || dd || "Vorname" || dd || "Nachname" || dd || "Adresse1" || dd || "Adresse2" || dd || "PLZ" || dd || "Ort" || dd || "Telefon" || dd || "Fax" || dd || "EMail"
  85. ok = WRITELN(file,text)
  86.  
  87. DO FOR anzahl
  88.  
  89.   GETADDRESS ADM
  90.  
  91.   IF ADM.salutation = "Herrn" THEN DO
  92.      salute = "er";
  93.      ADM.salutation = "Herr"
  94.   END
  95.   ELSE IF ADM.salutation = "Frau" THEN salute = "e"
  96.   ELSE salute = ""
  97.  
  98.   text = ADM.company || dd || ADM.salutation || dd || salute || dd || ADM.firstname || dd || STRIP( ADM.title ADM.lastname) || dd || ADM.address1 || dd || ADM.address2 || dd || ADM.postcode || dd || ADM.city || dd || ADM.telephone || dd || ADM.fax || dd || ADM.email1
  99.   ok = WRITELN(file,text)
  100.  
  101.   ACTIVATENEXT
  102.  
  103. END
  104.  
  105. ok = Close(file)
  106.  
  107. /* ----- Inforequester */
  108.  
  109. text = "Die Daten wurden nun in der Datei" filename" abgelegt." NL||,
  110. "Starten Sie nun PageStream3 und starten das PageStream3-" NL||,
  111. "Makro 'MailMerge'. Wählen Sie dann die o.g. Datei wieder aus," NL||,
  112. "MailMerge erstellt nun Dokument-Variablen, die mit der Funktion" NL||,
  113. "'Variable einfügen » benutzerdefinierter Text...' ins Dokument" NL||,
  114. "eingefügt werden können." NL||,
  115. "Ein erneuter Aufruf von 'MailMerge' druckt den Serienbrief."
  116.  
  117. CALL RTEZREQUEST(text,"_OK","PageStream3-Serienbrief",,"rtez_defaultresponse=1")
  118.