Outlook 2013 und Xbase++

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Fr, 26. Jul 2013 12:03

Outlook 2013 und xbase++

Beitrag von MichaMB »

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
lG
Micha
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Fr, 26. Jul 2013 12:03

Re: Outlook 2007 display()-Fehler

Beitrag von MichaMB »

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
Zuletzt geändert von MichaMB am Fr, 21. Nov 2014 16:38, insgesamt 1-mal geändert.
lG
Micha
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Outlook 2007 display()-Fehler

Beitrag von AUGE_OHR »

hast du die SOCMAPI.DLL im EXE Verzeichnis liegen ?
gruss by OHR
Jimmy
Benutzeravatar
Lewi
1000 working lines a day
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

Beitrag von Lewi »

Warum über ActiveX?
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 )
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Fr, 26. Jul 2013 12:03

Re: Outlook 2007 display()-Fehler

Beitrag von MichaMB »

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
lG
Micha
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Outlook 2007 display()-Fehler

Beitrag von AUGE_OHR »

MichaMB hat geschrieben:die SOCMAPI.DLL scheint auf meinen PC nicht vorhanden zu sein, habe ich wahrscheinlich mal ein Update verpasst
Nope ... das war kein Update sondern ist aus dem ASCN Download Bereich von Alaska
http://www.alaska-software.com/download ... section=12
gruss by OHR
Jimmy
Benutzeravatar
MichaMB
UDF-Programmierer
UDF-Programmierer
Beiträge: 57
Registriert: Fr, 26. Jul 2013 12:03

Re: Outlook 2007 display()-Fehler

Beitrag von MichaMB »

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
lG
Micha
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Outlook 2013 und Xbase++

Beitrag von brandelh »

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.
Gruß
Hubert
Antworten