Outlook-Mail mit mehreren Anhängen erstellen

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Sa, 22. Nov 2014 17:43

Hallo zusammen,

nachdem nun aus xbase++ mittels dem PRG emoSendMail eine Email in Outlook 2013 mit
E-Mail Adresse, (Emilwer)
Betreff, (Betrmail)
Text, (infmess0) bis (infmess12)
und Anhang (verzword)+(Anlage1) (Verzeichnis und Datei)
aus eigenen Variablen richtig erstellt wird,

Code: Alles auswählen
PROCEDURE DemoSendMail()
   Local cAdresses    := (Emilwer)
  local cSubject     := (Betrmail)
  local cMessage     := (infmess0)+(Chr(13))+(Chr(13))+(infmess1)+(Chr(13))+(Chr(13))+(infmess2)+(Chr(13))+(Chr(13))+(infmess3)+(Chr(13))+(Chr(13))+(infmess4)+(Chr(13))+(infmess5)+(Chr(13))+(infmess6)+(Chr(13))+(Chr(13))+(infmess7)+(Chr(13))+(infmess8)+(Chr(13))+(infmess9)+(Chr(13))+(infmess10)+(Chr(13))+(infmess11)+(Chr(13))+(infmess12)+(VERZBMP2)
  local cAttachments := (verzword)+(Anlage1)
  local nFlag        :=  NOFLAG
  local nErr

habe ich noch 2 Fragen:

1. wie lautet die Syntax wenn ich 2 oder 3 Anhänge verschicken möchte? oder geht das so gar nicht?

2. meine *.BMP mit Verzeichnis erscheint nur als Verzeichnislink, nicht als Bild

das Verzeichnis wird im main.PRG gespeichert
Code: Alles auswählen
 public VERZBMP2
  store substr(FESTWO,1,1) + ":\MXXXXZ\MXXX\bmp\VXXA_1.BMP" to verzbmp2
*.BMP ausdrucken auf meinem Drucker in Xbase++ geht, aber versenden?
z.B.
Code: Alles auswählen
#define GRAPHICS_PRINTER
#include "migrate.ch"
set device to print
      @ 0, 67, 5, 77 IMAGE (VERZBMP2)

vielen Dank schon mal im voraus
lG Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook 2007 display()-Fehler

Beitragvon brandelh » Sa, 22. Nov 2014 19:21

Hallo,

wenn du für Programmcode die Schaltfläche CODE oben verwendest, kann man es leichter lesen ;-)
Ich mach das mal in deinem Beispiel nachträglich ...

Zur Frage, ich meine dass man eMailadressen mit ";" verketten kann, vielleicht geht das auch bei Attachements.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13323
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Sa, 22. Nov 2014 21:17

Hallo Hubert,

leider geht ";" nicht
Code: Alles auswählen
local cAttachments := (verzword)+ '\BUEPOB.PDF'

funktioniert
sobald man etwas mit ";" anhängt findet das Programm die Datei nicht mehr
z.B.
Code: Alles auswählen
local cAttachments := (verzword)+ '\BUEPOB.PDF' ;(verzword)+ '\BUEPLogo.PDF'

kommt Fehlermeldung:
Code: Alles auswählen
EMAILOUT.PRG(448:0): warning XBT0106: Procedure DemoSendMail does not end with RETURN
EMAILOUT.PRG(449:0): error XBT0232: LOCAL declaration follows executable statement


so geht es doch !!!!!
Code: Alles auswählen
  Local cAttachments :=  "C:\MBNETZ\MAB\DRUWORD\\BUEPOB.PDF;C:\MBNETZ\MAB\DRUWORD\\BUEPLogo.PDF"


jetzt muss ich nur noch ausprobieren wie das mit unterschiedlich vielen Variablen funktioniert

Danke vielmals
durch das richtige Anzeigen des Codes in meiner Frage bin ich drauf gekommen :banghead:
LG Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon Roland Gentner » Sa, 22. Nov 2014 21:57

Hallo Michael

was ist "emoSendMail" ?
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 647
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Sa, 22. Nov 2014 21:59

Jetzt habe ich die Lösung gefunden!
Code: Alles auswählen
// waehlt die Anzahl der Anhaenge aus, je nach Email-Art mit z.B. 1, 2 oder 3 Anhaengen
Public AnzAnhaenge
  store 2 to AnzAnhaenge
// ist die Variable die die Anh„nge fr
Public Anhangx
  do case
    case anzAnhaenge = 1
      store '"'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\BUEPOB.PDF' + '"' to Anhangx
    case anzAnhaenge = 2
      store '"'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\BUEPOB.PDF;'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\BUEPLogo.PDF'+'"' to Anhangx
    case anzAnhaenge = 3
      store '"'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\BUEPOB.PDF;'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\BUEPOB.PDF;'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\KUEPLogo.PDF'+'"' to Anhangx
  otherwise


      store '"'+substr(FESTWO,1,1) + ':\MBNETZ\MAB\DRUWORD\BUEPOB.PDF'+ '"' to Anhangx
  endcase


dann in der Anwendung
PROCEDURE DemoSendMail()
Code: Alles auswählen
 Local cAttachments :=  &Anhangx


LG Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Sa, 22. Nov 2014 22:20

Hallo Roland,

das war der Tipp von Jimmy
http://www.alaska-software.com/download ... section=12

hier findest du beim Download auch die "PROCEDURE DemoSendMail() "

Diese habe ich nun so lange modifiziert, bis ich Sie in mein Xbase++ Programm Kundenverwaltung einbauen kann
Ich wähle einen Kunden aus...
wähle den gewünschten Druck-Vorgang aus,
dann öffne ich mittels
Code: Alles auswählen
                ? RunShell( "KUEPLogo.bat", "C:\MBNETZ\MAB\DRUWORD\KUEPLogo.bat" )               


eine Batch-Datei die die Word-Datei mit Serienbrieffunktion und einem Makro öffnet

Code: Alles auswählen
@echo off
cls
@echo off
echo.    Aufruf Word.doc
echo.
start c:\mbnetz\MAB\druword\BUEPLogo.docx / update_und_wo_dbf (Makro)
:ende

eine Word-Datei auf, diese ist mit einer *.DBF als Serienbrief (auch mehrseitig) verknüpft
diese speichert sich mittels eine Makros als *.Pdf (mit dem Namen des Kunden und dem Vorgang)
durch Hilfe des Xbase-Programmes gleich im richtigen Kundenverzeichnis bei diesem Kunden im entsprechenden Vorgangsverzeichnis
und nun öffnet sich die Email und ich habe alle Daten zum senden an den Kunden fertig in der Mail :D
das erspart mir künftig viele umständliche einzelne Arbeitsschritte
Lg
Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon Roland Gentner » Sa, 22. Nov 2014 22:43

Hallo Michael

habe inzwischen auch bemerkt dass das nur ein Schreibfehler war und "DemoSendMail" heißen sollte...
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 647
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » So, 23. Nov 2014 1:52

hat mir noch jemand eine Tipp?

Thema Procedure DemoSendmail
meine *.BMP mit Verzeichnis erscheint nur als Verzeichnislink, nicht als Bild
wie kann man eine *.BMP in den Emailtext integrieren?
Code: Alles auswählen
  // Verzbmp2 := substr(FESTWO,1,1) + ':\MBNETZ\MAB\bmp\VEMA_1.BMP'
local cMessage     := (infmess0)+(Chr(13))+(Chr(13))+(infmess1)+(VERZBMP2)       


LG Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon AUGE_OHR » So, 23. Nov 2014 2:48

MichaMB hat geschrieben:wie kann man eine *.BMP in den Emailtext integrieren?
es muss RTF oder Html sein damit du ein Image "einbetten" kannst.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10205
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » So, 23. Nov 2014 10:51

Hallo Jimmy,

Mein Outlook verfasst die Nachrichten in Html
Dort kann man in der Signatur ein Bild mit integrieren, wenn allerdings E-Mail Outlook von Xbase++ aufgerufen wird, dann erscheint das Fenster ohne Signatur.
Da wir von verschiedenen Absendern die Impressum anpassen müssen, ist es auch gut, wenn ich das mit Datensätzen, so wie bereits programmiert, befüllen kann.
Ich wähle dazu variable Sätze aus einer Datenbank die man dann für die einzelnen User vorbelegen kann. Der Inhalt der Anrede und der jeweilige E-Mail-Haupttext wird aus dem Programm gesteuert. Leider fehlt nun nur noch die Optik wegen dem fehlenden Bild
Das Bild müsste doch auch mit in den Anhang übergeben werden, oder?

hast du mir bitte ein kurzes Beispiel?
lG Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Mo, 24. Nov 2014 19:58

Hallo liebe Spezialisten,

brauche dringend Eure Hilfe! Muss leider dazusagen, bin ein absoluter Laie und brauche immer ein Beispiel um es zumindest anwenden zu können

Wie kann ich verhindern, das mein Programm weiterläuft während das aufgerufene Batch-Programm mit der verknüpften Word-Datei Serienbrief und abspeichern als XY.DBF noch nicht fertig ist
Code: Alles auswählen
   
    case upper(KOM) = 'MV'
          store .f. to DF3
          if upper(lobrief) = "L"
            ? RunShell( "MVP1Logo.bat", "C:\MBNETZ\MAB\DRUWORD\MVP1Logo.bat" )
            KOMO := "MV"
            set default to (verzdat)
            SET PATH to (verzdat)
             do emailout
          else
            ? RunShell( "MVP1OB.bat", "C:\MBNETZ\MAB\DRUWORD\MVP1OB.bat" )
            KOMO := "MV"
            set default to (verzdat)
            SET PATH to (verzdat)
             do vzerstna
          endif
!
ausgeführt wird? Das Programm verzweigt dann in das Email - Programm (emailout) und die Anlage ist noch nicht fertig
Das Programm benötigt für die Weiterverarbeitung Daten die durch ! runshell..... erzeugt werden
Muss ich das als Function aufrufen und wenn ja wie?
ganz lieben Dank im voraus
Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon Werner_Bayern » Mo, 24. Nov 2014 23:10

Servus Micha,

schau Dir mal die Parameter zu runshell an!

<lAsync> und <lBackGround> sind Deine Kandidaten!
es grüßt euch

Werner
Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
 
Beiträge: 1215
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Do, 27. Nov 2014 12:25

Hallo Werner,
das Programm funktioniert ohne die Parameter, solange ich das Info-Fenster für das versenden der mail nicht unterdrücke.
Allerdings muss ich darauf achten, dass die zuvor mittels batchfile geöffnete Word-Datei nicht "unsichtbar" hinter das Anwendungsfenster gerät, sonst passiert natürlich nichts und bei drücken von "Return" würde das Exefile weiter laufen
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon Werner_Bayern » Do, 27. Nov 2014 22:40

Meine Antwort bezog sich auf Deine Frage:
Wie kann ich verhindern, das mein Programm weiterläuft während das aufgerufene Batch-Programm mit der verknüpften Word-Datei Serienbrief und abspeichern als XY.DBF noch nicht fertig ist
es grüßt euch

Werner
Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
 
Beiträge: 1215
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon AUGE_OHR » Do, 27. Nov 2014 22:59

MichaMB hat geschrieben:Allerdings muss ich darauf achten, dass die zuvor mittels batchfile geöffnete Word-Datei nicht "unsichtbar" hinter das Anwendungsfenster gerät, sonst passiert natürlich nichts und bei drücken von "Return" würde das Exefile weiter laufen
wie Werner schon sagte siehe dir mal den 3th Parameter von RunShell() an
Code: Alles auswählen
RunShell( <cCmdLine> , ;
         [<cProgram>], ;
         [<lAsync>]  , ;
         [<lBackground>] )
<lAsync>

<lAsync> ist ein logischer Wert, der bestimmt, ob der neu gestartete Befehlsprozessor synchron oder asynchron mit der Xbase++ Anwendung ablaufen soll. Der Standardwert ist .F. (falsch), d.h. ohne Angabe von <lAsync> wird eine Xbase++ Anwendung angehalten bis der neue Befehlsprozessor oder das gestartete Programm abgebrochen bzw. beendet wird.


wenn du "mehr Kontrolle" benötigst dann siehe dir die Class TRunProcess von Pablo an.
TRunProcess.zip
benötigt ot4xb
(3.95 KiB) 78-mal heruntergeladen
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10205
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Outlook-Mail mit mehreren Anhängen erstellen

Beitragvon MichaMB » Fr, 28. Nov 2014 18:47

Hallo Jimmy,

vielen Dank, aber das ist mir noch zu hoch... (habe mir erst die fehlenden Dateien besorgen müssen und teste mal bei Gelegenheit)

ich habe bei runshell keine Parameter, also müsste mein Quellcode stoppen, sobald ich aber eine Return-Taste drücke, läuft das Programm weiter und verwendet bereits jetzt eine Datei*.PDF die erst parallel jetzt mit Word speichern als PDF neu überschrieben wird.
Also ist in der Email der Richtig Anhang-Name aber mit dem Inhalt, den ich davor gespeichert hatte :-(
jetzt lösche ich in der Batch-Datei zum Aufruf des Wordfiles die *.pdf und starte dann erst die Word.DOC
Dann versuche ich mal ein Fenster (wait) im Hauptprogramm (exe file) zu öffnen, und dieses erst zu schließen bis die Ursprungs-Datei.PDF neu angelegt und überschrieben wurde
dann müsste nach schließen des Fensters das Email Programm gestartet werden...

so wie es aussieht, klappt die Vorgehensweise, in dem neu geöffneten Fenster könnte man nun z.B. auch gleich mit abfragen, ob die Datei die als Email gesendet wird auch gleich ausgedruckt werden soll, gespeichert wird sie ja automatisch

lg
Micha
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 56
Registriert: Fr, 26. Jul 2013 11:03


Zurück zu MS Office

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron