AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
02.06.20 - 21:36:10
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  OLE/COM-Programmierung
| | |-+  eMail aus Access
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: eMail aus Access  (Gelesen 7651 mal)
Ottoeins
Frischling
*
Offline Offline

Beiträge: 3


« am: 11.05.08 - 23:21:16 »

Hallo,

ich bin totaler Notes-Anfänger und habe folgendes Problem:
Mit dem VBA-Code aus Google kann ich eine eMail aus Access generieren, sie wird sofort gesendet. Ich möchte aber, daß die eMail nicht sofort gesendet wird sondern erst nach Betätigung des Senden-Buttons. Es würde mir auch reichen, wenn die eMail zunächst im Entwurfs-Ordner landet und dann händisch verschickt werden muß. Weiß einer Rat?

Gruß und noch schöne Pfingsten

Otto1




Code:
Function SendNotesMail(MailTo$, KopieTo$, Mailtext$, MailAnhang$, _
                         MailAbsender$, MailBetreff$, Optional MailSenden As Boolean) As Boolean
                         
   Dim rtitem           As Object
   Dim EmbeddedObject   As Object
   Dim SessionNotes     As Object
   Dim NotesDB          As Object
   Dim NotesDoc         As Object
   Dim EmpfListe()      As String
   Dim EmpfCnt          As Integer
   Dim Pos1             As Long
   
    ' wenn die Betreffzeile leer ist, dann wird eine erzeugt
    If Trim$(MailBetreff) = "" Then
    End If

    On Error GoTo Err_Mail_Click
   
    ' An die laufende Lotus Notes Session anhängen
    Set SessionNotes = CreateObject("Notes.NOTESSESSION")
   
    ' Notes Datenbank-Objekt erstellen und initialisieren
    Set NotesDB = SessionNotes.GetDatabase("", "")
    NotesDB.OPENMAIL
    If NotesDB.IsOpen = False Then
        MsgBox "Bitte melden Sie sich vollständig in Notes an!", vbInformation + vbOKOnly
        Exit Function
    End If
   
    ' Empfängerliste erstellen
    EmpfCnt = 0
    Pos1 = InStr(MailTo, ";")
    While Pos1 > 0
        ReDim Preserve EmpfListe(EmpfCnt)
        EmpfListe(EmpfCnt) = Left(MailTo, Pos1 - 1)
        MailTo = Right(MailTo, Len(MailTo) - Pos1)
        Pos1 = InStr(MailTo, ";")
        EmpfCnt = EmpfCnt + 1
    Wend
    ReDim Preserve EmpfListe(EmpfCnt)
    EmpfListe(EmpfCnt) = MailTo
   
    ' Neues Notes-Dokument anlegen (Mail)
    Set NotesDoc = NotesDB.CreateDocument
    With NotesDoc
        .Form = "Memo"
        .Subject = MailBetreff
        .sendto = EmpfListe
        .CopyTo = KopieTo
        '.blindcopyto= Blindkopie an
        .Body = Mailtext & vbCrLf & MailAbsender
        '.DefaultMailSaveOption = 0
        '.MailSaveOption = 0
        .DeliveryReport = "B"
        .Importance = "2"
        '.logo = "Scania"
        .SaveMessageOnSend = True ' bei True wird ein Exemplar in Gesendet gestellt
        .ReturnReceipt = "1"
        .Sign = "1"
        '.encrypt ="0"
        '.Principal = session.UserName
        '.viewicon ="74"
        '.from = session.UserName
        '.SaveOptions = 0
        '.SecureMail = ""
        '.SenderTag = "F"

        ' Dateianhang
        If Trim$(MailAnhang) <> "" Then
            Const embed_ATT = 1454
            Set rtitem = .CreateRichTextItem(MailAnhang)
            Set EmbeddedObject = rtitem.EmbedObject(embed_ATT, "", MailAnhang, MailAnhang)
        End If
       
       
        MailSenden = False
        ' Mail Senden oder Speichern
        If MailSenden Then
           .Send True
        Else
           .Save
        End If
    End With

     SendNotesMail = True

    Set SessionNotes = Nothing
    Set NotesDB = Nothing
    Set NotesDoc = Nothing
    Set rtitem = Nothing
    Set EmbeddedObject = Nothing
   
Exit_Mail_Click:
Exit Function

Err_Mail_Click:
    MsgBox Err.Number & "-" & Err.Description
    SendNotesMail = False
    Resume Next
   
End Function


Gespeichert
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11410


« Antworten #1 am: 12.05.08 - 07:04:51 »

Nun, wenn du den Code gelesen ( und verstanden ) hast, dann wird dir auch der Parameter MailSenden As Boolean im Functionskopf aufgefallen sein.
Da hat der Code Author schon eine Möglichkeit geschaffen, das sofortige Senden zu unterbinden und die Mail lediglich zu speichern. Um das in den "Entwürfen" zu speichern, muss man lediglich ein paar Feldwerte setzen. Die sind mir allerdings nicht präsent.
Einfach mal eine Mail erstellen und als Entwurf speichern. Dann mit einer Mail vergleichen, die sofort versendet wurde. Schon hat man die Unterschiede und die Felder, die man setzen muss.
Gespeichert
Ottoeins
Frischling
*
Offline Offline

Beiträge: 3


« Antworten #2 am: 12.05.08 - 20:02:18 »

Hallo Ulrich,

danke für Dein eMail. Den Parameter MailSenden habe ich auch gesehen. Allerdings verlangt Notes diesen Parameter, es ist nicht möglich über SAVE die eMail so zu speichern. Auch läßt Notes nicht die Möglichkeit zu, ohne die Vorgabe eines Empfängers die eMail zu generieren. Und somit wird die eMail also wie bereits oben erwähnt, sofort gesendet. Ich bräuchte die Möglichkeit, entweder die eMail ohne Empfänger zu generieren oder die eMail zunächst in den Entwurfsordner zu speichern.

Gruß Otto1
Gespeichert
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #3 am: 12.05.08 - 22:59:44 »

Ich befürchte, dieser Code wurde irgendwo "gefunden", aber nicht verstanden.

Zum letzten Posting:
Den Parameter MailSenden habe ich auch gesehen. Allerdings verlangt Notes diesen Parameter, es ist nicht möglich über SAVE die eMail so zu speichern.
Das ist Unfug. Der Parameter "MailSenden" ist Bestandteil der VBA-Routine und hat mit Notes so viel zu tun wie mein Garagentor mit dem Startpunkt "S" des Salzburger Flughafens.

Weiterhin:
Auch läßt Notes nicht die Möglichkeit zu, ohne die Vorgabe eines Empfängers die eMail zu generieren.
Auch falsch - im doppelten Sinne: Mit Notes (bzw. dem OLE- oder COM-Zugriff auf die Notes-API) wird zunächst ein *Dokument* erzeugt. Ob man dieses dann versendet oder nicht, *muss* man selbst entscheiden.

Wobei wir beim nächsten Punkt wären: Dieser Code-Bestandteil
Code:
MailSenden = False
        ' Mail Senden oder Speichern
        If MailSenden Then
           .Send True
        Else
           .Save
        End If
sagt aus: Die Variable "MailSenden" wird zwangsweise auf False gesetzt, die folgenden Zeilen versenden daher das eMail überhaupt nicht.

So, wie der bisherige Code aussieht, wird ein derart erzeugtes Dokument auch in der Ansicht "Gesendet" angezeigt, da die Items "PostedDate", $MessageType und ExcludeFromView nicht angelegt werden.

Daher:
Ich habe keine Ahnung, was da nun codemässig wirklich getrieben wird. Das letzte Posting von "Otto1" lässt darauf deuten, dass der aktuelle Code anders aussieht als der gepostete.

Zum Code: Wenn nochmals Code gepostet wird, sollten unbedingt alle sowieso auskommentierten Zeilen auch gelöscht werden. Man kann keinem Hilfswilligen zumuten, dass er sich durch das Zeugs auch noch durchwühlt.

Tipp an "Otto1": Ohne die Dokumentation zum Domino-Designer und nur mit gefundenem Code geht hier gar nichts. Aber auch nur mit VBA-Kenntnissen sollte aber schon klar sein, dass in den gemachten Aussagen Widersprüche sein müssen.

Bernhard
Gespeichert
Ottoeins
Frischling
*
Offline Offline

Beiträge: 3


« Antworten #4 am: 13.05.08 - 22:38:27 »

Hallo Bernhard,

anstatt den VBA-Code zu kommentieren, solltest Du lieber eine ernsthafte Lösung anbieten.
Damit wäre mir und der Sache mehr geholfen.

REM-Zeilen dienen dem besseren Verständnis und gehören natürlich zum Code. Sind Objekt-
Paramenter auskommentiert, kann gerade hier die Lösung stecken.

Im übrigen, daß hier gar nichts geht, sehe ich auch! Deine schlauen Sprüche kannst Du Dir sparen.

Tip an Bernhard:
Laß Dein Garagentor wie es ist und widme Dich den Problemen. Aber sachlich.


Gruß Otto1
Gespeichert
m3
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8094


Non ex transverso sed deorsum!


WWW
« Antworten #5 am: 13.05.08 - 22:49:26 »

ROTFL

*PLONK*
Gespeichert

HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #6 am: 13.05.08 - 23:08:31 »

"Otto1" hat ja nicht mal das mit dem Garagentor verstanden ... Und ich habe mich noch mit dem Code - sogar mitsamt den sinnlos mitgeposteten auskommentierten Zeilen - auseinander gesetzt.

ROTFL? Heute nicht! Ich habe erstmal einen dicken Hals. Vielleicht morgen. *PLONK* - ja, da hier jemand offensichtlich seine Arbeit durch andere erledigt bekommen möchte und auf keinen der bisherigen Hinweise in irgendeiner Form eingegangen ist.

Ich bin draussen aus diesem Thread.
« Letzte Änderung: 14.05.08 - 00:09:10 von koehlerbv » Gespeichert
Kadlec
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 489


Ich liebe dieses Forum!


« Antworten #7 am: 13.05.08 - 23:48:23 »

Da hat doch tatsächlich wieder einmal einer ein Eigentor geschossen.
Respekt.

Boris
Gespeichert
eknori
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11410


« Antworten #8 am: 14.05.08 - 07:21:17 »

Zitat
REM-Zeilen dienen dem besseren Verständnis

So wie z.B. hier ??

    ' wenn die Betreffzeile leer ist, dann wird eine erzeugt
    If Trim$(MailBetreff) = "" Then
    End If

Ich weiss auch gar nicht, warum Du hier die Welle machst und dich so aufplusters. Sowohl Bernhard als auch ich haben dir die Lösung ja bereits hier beschrieben.
Du musst das lediglich im Code umsetzen.

Du erwartest nicht ernsthaft, daß man dir diese Arbeit auch noch abnimmt, oder ?
Gespeichert
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #9 am: 15.05.08 - 10:39:47 »

Zitat
anstatt den VBA-Code zu kommentieren, solltest Du lieber eine ernsthafte Lösung anbieten.
Damit wäre mir und der Sache mehr geholfen.

... ganz schön frech - sich als Anfänger hinstellen und erwarten, daß dir einer die Arbeit abnimmt. Die Hinweise von Ulrich und Bernhard sollten dir in dem Fall genügen...

Toni
Gespeichert

Grüßle Toni Smiley
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: