Outlook-Nachricht bearbeiten



    Hast du in deinem Programm ein Eingabefeld, in dass du den Text schreibst, den du verschicken willst ?

    Was ist m_eMail ? Eine CString-Membervariable ?

    [edit]
    Falls ja: schreib mal
    GetDlgItemText(IDC_VON_DEINEM_EINGABEFELD, m_eMail);
    vor deinen geposteten Code. Damit holst du den eingegebenen Text aus dem Eingabefeld in die Variable m_eMail.
    [/edit]



  • Hi,
    Danke, für die Antwort.
    Ich habe es so gelöst:

    m_eMail.GetWindowText(nachricht);
    

    Aber was ich gar nicht weiss ist, dass ich im Adressbuch im Outlook
    nach email-adressen suchen möchte.
    Ich kenne noch nicht mal einen Ansatz.

    Könntes du mir weiterhelfen?

    Grüße Tanya



  • Eigentlich wird hier nicht gerne bei der Virusprogrammierung geholfen...



  • Virusprogrammierung? Ja, dafür kann man es auch nehmen - aber mir fallen auch genug andere Anwendungen ein.

    Z.B. Dausichere Rundmails auf Knopfdruck. Mail an Admin(der im Adressbuch steht) wenn ein Fehler auftritt... 🙄



  • Yo, stimmt. Ich hätte ja auch einfach schreiben können "Ich habe leider überhaupt keine Ahnung wie das geht", aber irgendetwas mit Viren klang viel gefährlicher und sah dazu noch so aus als hätte ich voll den Plan. 😃



  • *lach* 😃

    Okay, Plan hab ich auch nicht - aber den Kopp voller Ideen, die ich leider nicht umsetzen kann. Oben steht eine davon. 😞



  • //Im Quellcode einbinden
    #import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Office10\mso.dll" named_guids
    #import "C:\Programme\Microsoft Office\Office10\msoutl.olb" \
    	no_namespace exclude("_IRecipientControl", "_DRecipientControl")
    
    //Aufruf
    _ApplicationPtr pApp;
    _ItemsPtr pItems;
    MAPIFolderPtr pFolder;
    _ContactItemPtr pContact;
    
    HRESULT hr;
    
    try
    {
    	hr=pApp.CreateInstance(__uuidof(Application));
    	if (FAILED(hr))
    	{
    		MessageBox("Outlook konnte nicht initialisiert werden","Outlook Error",MB_OK);	
             return;
    	}
    
    	pFolder=pApp->GetNamespace(_bstr_t("MAPI"))->GetDefaultFolder(olFolderContacts);
    	if (pFolder==NULL)
    	{
    		MessageBox("Der Kontaktordner konnte nicht gefundne werden","Outlook Error");
    		return;
    	}
    
    	pItems=pFolder->GetItems();
    	if (pItems==NULL)
    	{
    		MessageBox("Kein Zugriff auf die Einträge möglich","Outlook Error");
    		return;
    	}
    	pContact=pItems->GetFirst();
    
    	while(1)
    	{			
    		if (pContact==NULL)
    			break;
    		CString strTemp;
    		//strTemp=(char *)pContact->GetFullName();
    		strTemp=strTemp + (char *)pContact->GetEmail1Address();
    		AfxMessageBox(strTemp);
    		pContact=pItems->GetNext();
    	}
    }
    catch(_com_error &e)
    {
       //Errorbehandlung
    }
    

    Thats it...



  • hi,

    DAnke zunächst euch allen für die Antwort.
    @C-O-M-M-A-N-D-E-R: Heisst es, dass die Kontakte des Adressbuchs dort gespeichert sind, wo der Pfad hinführt?

    Ich probier das alles gleich mal aus.

    Vielen lieben Dank an euch...
    Tanya



  • hi,

    #import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Office10\mso.dll"
    

    Gilt dies auch für Outlook 2000? Denn das: Office10\mso.dll find ich nciht!
    😞



  • Ich kann dir jettnicht genau sagen ob da wirklich die Daten drin liegen.
    Jedenfalls erlangst du nur so Zugriff. (Hab bislang keine andere Lösung gefunden)

    Jedoch bekommst du die Outlook Warnung, das eine fremde Anwendung versucht darauf zuzugreifen (die musst du jedesmal mit Ja bestätigen)

    @all : Viren untauglich 😉



  • Tanya schrieb:

    hi,

    #import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Office10\mso.dll"
    

    Gilt dies auch für Outlook 2000? Denn das: Office10\mso.dll find ich nciht!
    😞

    Du musst in dem Fall natürlich den Pfad an dein System anpassen.



  • Ich hab auch Outlook 2000 aber auf einer anderen Platte als C:, würde bei mir also nicht gehen.

    Erstmal hilft auf allen lokalen Platten nach "mso.dll" suchen.
    Auf lange Sicht solltest du irgendwann mal eine dynamische Lösung finden. Denn Office kann man hin installieren wo man will... 😉



  • Vielen Dank schon mal.
    So weiss ich schon um Einiges mehr als vorher, und steh nicht ganz im Leeren. 🙂

    Grüße Tanya



  • Entschuldigung das du noch ein wenig nachdenken musst bei meinem Lösungsvorschlag 🙄



  • hi,

    Leider, erhalte ich ständig Fehlermeldungen in dieser Zeile (ungültige Zeichenfolge oder so):

    #import "C:\Programme\Microsoft Office\Office\Msoutl9.olb" \
    no_namespace exclude("_IRecipientControl", "_DRecipientControl")
    

    .
    Wenn ich das auskommentiere, wird der restliche Code angemeckert.
    Was habe ich denn dieses mal falsch gemacht?? 😕

    Tanya



  • @C-O-M-M-A-N-D-E-R : Das ist doch in Ordnung so. Muss doch auch selbst verstehen, was ich da eigentlich mach.
    Ich bin schon echt froh, dass mir geholfen wird.

    Tanya



  • Meinte eigentlich auch estartu_de mit meiner aussage 😉

    ----
    Bitte genauen fehlercode



  • In dieser Zeile wird das Escape-Zeichen beanstandet.

    #import "C:\Programme\Microsoft Office\Office\Msoutl9.olb" \ 
    	no_namespace exclude("_IRecipientControl", "_DRecipientControl")
    

    .
    Ungültige ESCAPE-Folge



  • die restlichen 3 Fehlermeldungen beziehen sich ebenfalls nur auf diese Zeile:
    1.)Fehlendes ";" vor Bezeichner exclude
    2.)'no_namespace' : Fehlende Speicherklasse oder Typbezeichner
    3.)fatal error C1004: Unerwartetes Dateiende gefunden

    und den ersten, den ich schon gepostet habe.



  • #import "C:\Programme\Microsoft Office\Office10\msoutl.olb" \
    /*1 TAB*/	no_namespace exclude("_IRecipientControl", "_DRecipientControl")
    

    Also funzt nur wenn du genau 1 Tab sprung machst


Anmelden zum Antworten