Seite 1 von 1

Outlook 2013 und xbase++

Verfasst: Mi, 19. Nov 2014 23:34
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

Re: Outlook 2007 display()-Fehler

Verfasst: Mi, 19. Nov 2014 23:48
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

Re: Outlook 2007 display()-Fehler

Verfasst: Mi, 19. Nov 2014 23:59
von AUGE_OHR
hast du die SOCMAPI.DLL im EXE Verzeichnis liegen ?

Re: Outlook 2007 display()-Fehler

Verfasst: Do, 20. Nov 2014 10:09
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 )

Re: Outlook 2007 display()-Fehler

Verfasst: Do, 20. Nov 2014 18:35
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

Re: Outlook 2007 display()-Fehler

Verfasst: Do, 20. Nov 2014 18:44
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

Re: Outlook 2007 display()-Fehler

Verfasst: Sa, 22. Nov 2014 11:29
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

Outlook 2013 und Xbase++

Verfasst: Di, 11. Aug 2015 13:04
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.