Outlook 2013 und Xbase++
Moderator: Moderatoren
Outlook 2013 und xbase++
Hallo liebe Programmierfüchse,
ich suche einen Quellcode *.PRG, um aus einer xbase++ Anwendung 1.9 eine neue Email in Outlook 2013 zu öffnen und aus einer geöffneten Datenbank die Daten für
Email-Adresse
Anrede und Text in der Email
und 2 verschiedene Anhänge mit Pfadangaben zu übernehmen
alles was ich gefunden habe ist leider unvollständig oder führt zu Fehlern schon beim compilieren, so dass ich nicht mal zum testen und ausprobieren komme.
z.B. aus dem untenstehenden Code
EMAILOUT.obj: error ALK2102: unresolved external symbol OUTLOOKFEHLER
ALINK: fatal error ALK4102: 1 external symbols unresolved
Danke im voraus
Micha
ich suche einen Quellcode *.PRG, um aus einer xbase++ Anwendung 1.9 eine neue Email in Outlook 2013 zu öffnen und aus einer geöffneten Datenbank die Daten für
Email-Adresse
Anrede und Text in der Email
und 2 verschiedene Anhänge mit Pfadangaben zu übernehmen
alles was ich gefunden habe ist leider unvollständig oder führt zu Fehlern schon beim compilieren, so dass ich nicht mal zum testen und ausprobieren komme.
z.B. aus dem untenstehenden Code
EMAILOUT.obj: error ALK2102: unresolved external symbol OUTLOOKFEHLER
ALINK: fatal error ALK4102: 1 external symbols unresolved
Danke im voraus
Micha
lG
Micha
Micha
Re: Outlook 2007 display()-Fehler
habe es auch mit einer modifizierten Anwendung versucht, leider kann ich mich auch hier nicht herantasten, weil es auch hier die Fehlermeldung gibt
EMAILOUT.obj: error ALK2102: unresolved external symbol NOTIFYERROR
ALINK: fatal error ALK4102: 1 external symbols unresolved
Procedure Main
....
....
set default to (verzword)
SET PATH to (verzword)
sele a
use
use verinfo
return
PROCEDURE MAPISEND
LOCAL cAdresses := "XXXXXX@T-Online.de"
LOCAL cSubject := "Test-Maklervertrag_"+ str(a->Endetag,2)+"."+str(a->Endemon,2)+"."+str(a->Endejahr,4)
LOCAL cMessage := ""
LOCAL cAttachments := ""
LOCAL nFlag := NOFLAG
cMessage := "hi,"+CRLF+;
"anbei die DATEV Daten 20"+str(a->Endejahr,4)+"/"+str(a->Endemon,2)+CRLF+CRLF+;
"Umsatz "+"Test_1"+"% :"+STR(a->Beitrag,9,2)+CRLF+;
"Mwst "+"Test_2"+"% :"+STR(a->Provsumme,9,2)+CRLF+;
"Umsatz "+"Test_3"+"% :"+Substr(a->versnr,1,29)+CRLF+;
"Mwst "+"Test_4"+"% :"+STR(a->Bewertung,9,1)+CRLF+CRLF+;
+CRLF+CRLF+;
"mfg."+CRLF+;
"Michael Basche"
* IF TESTZIP(cJahr,cMonat)
* cAttachments := ZPATH+"YIU"+cJahr+cMonat+".ZIP"
IF file("KUEPLOGO.PDF")
cATTachments := (verzword)+"\KUEPLOGO_" + str(a->Endetag,2)+"."+str(a->Endemon,2)+"."+str(a->Endejahr,4)+ ".PDF"
IF FILE(cAttachments)
ELSE
MSGBOX("bitte erstellen sie "+cAttachments+" manuell")
cAttachments := ""
ENDIF
ENDIF
//
// so und nun einen Thread starten, dann funktioniert es
//
oMAPI := Thread():new()
oMAPI:start("SENDNOW", cAdresses , cSubject ,cMessage , cAttachments , nFlag)
RETURN
PROCEDURE SENDNOW(cAdresses , cSubject ,cMessage , cAttachments , nFlag)
LOCAL nErr
//if not already logged on, Logon to new MAPI session
IF DllExecuteCall( scDLLSocMapiIsLoggedOn ) == 0
IF (nErr := DllExecuteCall(scDLLSocMapiLogon)) != SUCCESS_SUCCESS
NOTIFYERROR( nErr )
RETURN
ENDIF
ENDIF
BEGIN SEQUENCE
//-- Pop up maileditor
MsgBox("mail will be send with Maileditor popping up")
nErr := DllExecuteCall( scDLLSocMapiSendMail , cAdresses , cSubject ,cMessage , cAttachments , nFlag )
if nErr != SUCCESS_SUCCESS .and. nErr != MAPI_USER_ABORT
break nErr
endif
//-- Store mail directly to outbox
MsgBox("mail will be stored directly to outbox")
nErr := DllExecuteCall( scDLLSocMapiPostMail , cAdresses , cSubject ,;
cMessage , cAttachments , nFlag)
if nErr != SUCCESS_SUCCESS
break nErr
endif
MsgBox("mail successfully stored to outbox")
RECOVER USING nErr
NotifyError (nErr)
END SEQUENCE
DllExecuteCall(scDLLSocMapiLogoff)
RETURN
EMAILOUT.obj: error ALK2102: unresolved external symbol NOTIFYERROR
ALINK: fatal error ALK4102: 1 external symbols unresolved
Procedure Main
....
....
set default to (verzword)
SET PATH to (verzword)
sele a
use
use verinfo
return
PROCEDURE MAPISEND
LOCAL cAdresses := "XXXXXX@T-Online.de"
LOCAL cSubject := "Test-Maklervertrag_"+ str(a->Endetag,2)+"."+str(a->Endemon,2)+"."+str(a->Endejahr,4)
LOCAL cMessage := ""
LOCAL cAttachments := ""
LOCAL nFlag := NOFLAG
cMessage := "hi,"+CRLF+;
"anbei die DATEV Daten 20"+str(a->Endejahr,4)+"/"+str(a->Endemon,2)+CRLF+CRLF+;
"Umsatz "+"Test_1"+"% :"+STR(a->Beitrag,9,2)+CRLF+;
"Mwst "+"Test_2"+"% :"+STR(a->Provsumme,9,2)+CRLF+;
"Umsatz "+"Test_3"+"% :"+Substr(a->versnr,1,29)+CRLF+;
"Mwst "+"Test_4"+"% :"+STR(a->Bewertung,9,1)+CRLF+CRLF+;
+CRLF+CRLF+;
"mfg."+CRLF+;
"Michael Basche"
* IF TESTZIP(cJahr,cMonat)
* cAttachments := ZPATH+"YIU"+cJahr+cMonat+".ZIP"
IF file("KUEPLOGO.PDF")
cATTachments := (verzword)+"\KUEPLOGO_" + str(a->Endetag,2)+"."+str(a->Endemon,2)+"."+str(a->Endejahr,4)+ ".PDF"
IF FILE(cAttachments)
ELSE
MSGBOX("bitte erstellen sie "+cAttachments+" manuell")
cAttachments := ""
ENDIF
ENDIF
//
// so und nun einen Thread starten, dann funktioniert es
//
oMAPI := Thread():new()
oMAPI:start("SENDNOW", cAdresses , cSubject ,cMessage , cAttachments , nFlag)
RETURN
PROCEDURE SENDNOW(cAdresses , cSubject ,cMessage , cAttachments , nFlag)
LOCAL nErr
//if not already logged on, Logon to new MAPI session
IF DllExecuteCall( scDLLSocMapiIsLoggedOn ) == 0
IF (nErr := DllExecuteCall(scDLLSocMapiLogon)) != SUCCESS_SUCCESS
NOTIFYERROR( nErr )
RETURN
ENDIF
ENDIF
BEGIN SEQUENCE
//-- Pop up maileditor
MsgBox("mail will be send with Maileditor popping up")
nErr := DllExecuteCall( scDLLSocMapiSendMail , cAdresses , cSubject ,cMessage , cAttachments , nFlag )
if nErr != SUCCESS_SUCCESS .and. nErr != MAPI_USER_ABORT
break nErr
endif
//-- Store mail directly to outbox
MsgBox("mail will be stored directly to outbox")
nErr := DllExecuteCall( scDLLSocMapiPostMail , cAdresses , cSubject ,;
cMessage , cAttachments , nFlag)
if nErr != SUCCESS_SUCCESS
break nErr
endif
MsgBox("mail successfully stored to outbox")
RECOVER USING nErr
NotifyError (nErr)
END SEQUENCE
DllExecuteCall(scDLLSocMapiLogoff)
RETURN
Zuletzt geändert von MichaMB am Fr, 21. Nov 2014 16:38, insgesamt 1-mal geändert.
lG
Micha
Micha
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Re: Outlook 2007 display()-Fehler
Warum über ActiveX?
Outlook kann mit Befehlsparametern aufgrufen werden:
Outlook kann mit Befehlsparametern aufgrufen werden:
Code: Alles auswählen
Func SentMailWithOutlook( cFile, cMailAdress )
Local cExe := "C:\Program Files (x86)\Microsoft Office\Office12\outlook.exe" // sollte z.B. im Parameterteil der Anwendung hinterlegt werden/ist Versionsabhängig
Local nRet
Local cStr := "/c ipm.note /m " + cMailAdress + " /a " + cFile //Aufrufparameter
DEFAULT cMailAdress to ""
DEFAULT cFile to ""
If ! File( cExe )
Msgbox("Outllook wurde nicht gefunden!")
Return ( NIL )
endif
nRet := ShellExecuteA(GetApp():getHWnd(), SHELL_OPEN, cExe, cStr , "", SW_SHOW) // API-Funktion
Return ( nRet )
Re: Outlook 2007 display()-Fehler
Hallo Jimmy, danke für die Anfrage:
die SOCMAPI.DLL scheint auf meinen PC nicht vorhanden zu sein, habe ich wahrscheinlich mal ein Update verpasst
könntest du mir diese bitte senden?
lg
Micha
die SOCMAPI.DLL scheint auf meinen PC nicht vorhanden zu sein, habe ich wahrscheinlich mal ein Update verpasst
könntest du mir diese bitte senden?
lg
Micha
lG
Micha
Micha
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Outlook 2007 display()-Fehler
Nope ... das war kein Update sondern ist aus dem ASCN Download Bereich von AlaskaMichaMB hat geschrieben:die SOCMAPI.DLL scheint auf meinen PC nicht vorhanden zu sein, habe ich wahrscheinlich mal ein Update verpasst
http://www.alaska-software.com/download ... section=12
gruss by OHR
Jimmy
Jimmy
Re: Outlook 2007 display()-Fehler
Hallo Jimmy,
super, habe den Download ausgeführt und in der Demoversion die Variablen mit meinen Vorgaben aus der Datenbank ersetzt, funktioniert einwandfrei!
Vielen Dank
super, habe den Download ausgeführt und in der Demoversion die Variablen mit meinen Vorgaben aus der Datenbank ersetzt, funktioniert einwandfrei!
Vielen Dank
lG
Micha
Micha
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Outlook 2013 und Xbase++
ich habe die Beiträge aus diesem Thread hier her verschoben, da sie mit dem eigentlichen Thema nicht wirklich etwas zu tun hatten.
http://www.xbaseforum.de/viewtopic.php? ... 041#p68320
Merke, eigene Anliegen bitte in neuen Threads ansprechen.
http://www.xbaseforum.de/viewtopic.php? ... 041#p68320
Merke, eigene Anliegen bitte in neuen Threads ansprechen.
Gruß
Hubert
Hubert