Domino 9 und frühere Versionen > ND7: Entwicklung

VBA Email automatisch generieren, aber ohne Standard-Signatur

<< < (3/3)

Kommodore:
Hallo,

--- Zitat ---schau in der Felderliste des geschlossenen Dokuments nach dem Inhalt von Body. Wenn dort keine Signatur enthalten ist, passiert es beim Öffnen.
--- Ende Zitat ---
Besteht die Möglichkeit diesen Punkt ausführlicher zu beschreiben, vielen Dank!

Ich habe den Quelltext nicht 1 zu 1 übernommen, da ich die Emails erst generieren lasse, um zu sehen wie die Email
zusammengesetzt wird oder wurde nach der Verarbeitung. Die Änderung zu dem o.g. Quelltext habe ich in
'**************
eigene Anpassung
'**************
gesetzt. Vielleicht liegt es ja da dran!?

Im unterem Beispiel wird eine eigene Signatur im Body angefügt. Trotzdem wird die nicht-gewollte Standard-Signatur des Users vor dem Body eingefügt.

Die Idee ist ja eine eigene Email zu generieren mit eigener Signatur, ohne das Einfügen der Standard-Signatur vor dem generierten Body.


--- Code: ---Function SendMail(Betreff As String, Email As String, Emailtext As String, Zusatztext As String, Attachment As String, Signatur As String)
    On Error Resume Next
   
        Dim Maildb As Object 'Die Datenbank
        Dim UserName As String 'Der Benutzername
        Dim MailDbName As String 'Der Datenbankname
        Dim MailDoc As Object 'Das Maildokument selbst
        Dim AttachME As Object 'Der Anhang
        Dim Session As Object 'Die Notes Session
        Dim EmbedObj As Object 'Ein eingebettetes Objekt (Anhang)
        Dim SaveIt As Boolean
       
        Dim Subject As String
        Dim Attachment2 As String
        Dim Recipient As String
        Dim cc As String
        Dim BodyText As String

        Subject = Betreff
   
        'Empfänger der Email
        Recipient = Email
       
        'Kopie der Email
        cc = ""
       
        'Emailtext
        BodyText = Emailtext & Chr(13) & Chr(13) & Zusatztext & Chr(13) & Chr(13) & Signatur
       
        Dim filename As String
        Dim numrows As Long
        Dim numcols As Integer
        Dim R As Long
        Dim c As Integer
        Dim data
            'Die Session starten
        Set Session = CreateObject("Notes.NotesSession")
        UserName = Session.UserName
           
        'Datenbankzugriff
        MailDbName = "Pfad der Datenbank.nsf"z.B. C:\Datenbank.nsf
       
        'Datenbank öffnen
        Set Maildb = Session.GetDatabase("", MailDbName)
         If Maildb.IsOpen = True Then
              'Fertig zum mailen!
         Else
             Maildb.OPENMAIL
         End If

        'Ein neues Maildokument erstellen
        Set MailDoc = Maildb.CreateDocument
        MailDoc.Form = "Memo"
        MailDoc.Sendto = Recipient & ", " & cc
       
        MailDoc.Subject = Subject
        MailDoc.Body = BodyText
        MailDoc.SaveMessageOnSend = SaveIt
       
        'Eingebettete Objekte und Anhänge hinzufügen
        If Attachment <> "" Then
            Set AttachME = MailDoc.CreateRichTextItem("Attachment")
            Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
            MailDoc.CreateRichTextItem ("Attachment")
        End If
   
        '****************************************************
        Dim Workspace As Object
        Set Workspace = CreateObject("Notes.NOTESUIWORKSPACE")
        Call Workspace.EDITDOCUMENT(True, MailDoc).GOTOFIELD("Body")
        '****************************************************
   
        MsgBox ("Die Mail wurde erstellt")
        '-------------------------
        'Bis hier wurde die Mail erstellt und noch nicht versandt.
        'MailDoc.SEND 0, Recipient 'Das Versenden ist auskommentiert.
        '-------------------------
        'Aufräumen
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set AttachME = Noth
        Set Session = Nothing
        Set EmbedObj = Nothing
End Function
--- Ende Code ---

koehlerbv:
Ein im Backend erzeugtes Dokument, noch nicht gespeichert und dann im Frontend sogar im EditMode geöffnet - völlig logisch, dass dann die Signaturroutine der MailDB anspringt ...

Peter Klett:

--- Zitat von: Kommodore am 03.04.12 - 14:47:26 ---Hallo,

--- Zitat ---schau in der Felderliste des geschlossenen Dokuments nach dem Inhalt von Body. Wenn dort keine Signatur enthalten ist, passiert es beim Öffnen.
--- Ende Zitat ---
Besteht die Möglichkeit diesen Punkt ausführlicher zu beschreiben, vielen Dank!

--- Ende Zitat ---
Ich ging davon aus, dass das Dokument vor dem Öffnen gespeichert wird.

Ändere Deine Routine so, dass das Dokument (die Mail) gespeichert wird, aber nicht geöffnet. Dann gehst Du in die Maildatenbank, in der das neue Dokument ist. Dokument markieren (nicht öffnen), Alt+Enter (oder rechte Maus und Eigenschaften Dokument), zweite Lasche Felder (die Lasche mit dem Dreieck), darin nach dem Feld Body suchen (linke Seite) und auf der rechten Seite nach dem Wert sehen.

Kommodore:
Vielen Dank für die schnellen Antworten!
Die Lösung ist wieder mal logisch, wenn man weiß wonach man suchen muss, vielen Dank!
        '****************************************************
        'Dim Workspace As Object
        'Set Workspace = CreateObject("Notes.NOTESUIWORKSPACE")
        'Call Workspace.EDITDOCUMENT(True, MailDoc).GOTOFIELD("Body")
        '****************************************************
Einach die 3 Zeilen auskommentieren, dann wird die Standard-Signatur nicht gezogen!!!  :)
Sondern die Email wird ohne Standard-Signatur generiert und verschickt.
Danke. Viele Grüße Kommodore




koehlerbv:
Hättest Du den Code in der Eröffnung gepostet, wäre die Lösung in Antwort #1 gekommen  ;)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln