Mail via Lotus Notes versenden

Zvoni

Erfahrenes Mitglied
OK. Kein Problem.

Wo kommen die Daten für Betreff, Empfänger usw. her? Stehen die in irgendner Zelle der Tabelle, oder sollen die hart in den code kommen?
 

mindsuk

Grünschnabel
Super!

Also bisher waren die im code, aber wenn es möglich wäre hier Zellen auszulesen, das wäre genial******
Habe hier eine Registerkarte Daten, wenn von dort in Z.B. D2 der Empfänger und E2 der Betreff ausgelesen werden könnte...?
 

Zvoni

Erfahrenes Mitglied
Visual Basic:
Public Sub SendMailLotus() 'Diese Prozedur kommt in dein bereits existierendes Modul1 und wird dem Gif zugewisen
Dim clsLotus as New CLotus
Dim Betreff as String
Dim Body as String
Dim Attachment as string
Dim Empfänger as String		'Wenn es nur ein Empfänger ist, bei mehreren muss man ein Array Empfänger() deklarieren

       Betreff=DieseArbeitsmappe.Sheets("Daten").Cells(2,4) 'Cells(2,4) ist D2
       Empfänger=DieseArbeitsmappe.Sheets("Daten").Cells(3,4) 'D3
       Body=DieseArbeitsmappe.Sheets("Daten").Cells(4,4) 'E-Mail-Text in D4
       Attachment=DieseArbeitsmappe.Path & "\" & DieseArbeitsmappe.Name

       clsLotus.SendNotesMail Betreff, Attachment, Body, True, Empfänger

End Sub

Diesen Code in dein Modul1

Meinen Code oben in ein Klassen-Modul einfügen, und das Modul dann CLotus benennen.

Achtung: Ungetestet!
 

mindsuk

Grünschnabel
Vielen Dank Zvoni!

Das Zuordnen hat funktioniert, aber bei Ausführen bekomme ich eine Fehlermeldung:

"Fehler beim Kompilieren: If-Block ohne End if"

Bildschirmfoto 2012-01-16 um 10.07.38.jpg
 

mindsuk

Grünschnabel
ah, Fehler selbst gefunden! Ich hatte ja noch die Zeile hinzugefügt:

RetVal = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Lotus\Notes\8.0", 0&, KEY_READ, hKey)

If RetVal <> 0 Then


Hab dann noch ein End if hinzugefügt...
Aber nun kommt die Meldung:

"Der Schlüssel konnte nicht geöffnet werden"
 

Zvoni

Erfahrenes Mitglied
Hast du Lotus bei dir drauf?

Ausserdem muss die If-Abfrage dann so lauten:

Visual Basic:
RetVal = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Lotus\Notes\8.0", 0&, KEY_READ, hKey)

If RetVal <> 0 Then
  ' Registryschlüssel öffnen
  RetVal = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Lotus\Notes\7.0", 0&, KEY_READ, hKey)
  
  If RetVal <> 0 Then
    
    RetVal = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Lotus\Notes\6.0", 0&, KEY_READ, hKey)
    
    If RetVal <> 0 Then
    
        MsgBox "Der Schlüssel konnte nicht geöffnet werden."
        Exit Function
        
    End If
    
  End If
End If
 
Zuletzt bearbeitet:

mindsuk

Grünschnabel
genau so hab ich es bereits geändert...und ja, habe Lotus Notes zum Testen installiert!

ABER! Es gibt diesen Registry Pfad nicht. Bis zu Lotus...Notes ja, danach passt es nicht mehr :(

Bildschirmfoto 2012-01-16 um 15.03.00.png
 
Zuletzt bearbeitet:

Zvoni

Erfahrenes Mitglied
OK!
Verstehe zwar nicht, was du für ne Lotus-Installation hast, aber mach mal folgendes.

Ich gehe mal von deinen Screenshots aus, dass du XP hast (unter Win7 heissen die Pfade nämlich anderst) und dass mindestens Lotus 8.5 installiert ist.

Folgenden Code in eine Text-Datei schreiben und als "lotus.Reg" abspeichern

Wichtig: Das USERNAME musst du durch deine eigene Login-Kennung ersetzen

Code:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Lotus\Notes\8.0]
"NotesIniPath"="C:\\Dokumente und Einstellungen\\USERNAME\\Lokale Einstellungen\\Anwendungsdaten\\Lotus\\Notes\\Data\\notes.ini"
"NeedCommonFiles"=dword:00000001

Nachdem du abgespeichert hast, doppelclick auf das "lotus.reg" und danach müsstest du dann den Eintrag haben.

Aufpassen: Notepad versucht immer ein "*.txt" an den Dateinamen zu hängen

P.S.: Kontrollier mal, ob du auch tatsächlich die notes.ini unter
"C:\Dokumente und Einstellungen\USERNAME\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data\"
findest, ansonsten hilft der code nicht weiter