Anzeige
Archiv - Navigation
1704to1708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Emailversand aus Userform
01.08.2019 15:14:01
Andreas
Guten Mittag,
für ein Projekt benötige ich aus einer Userform eine automatische Email.
Abgesendet soll diese beim Bestätigen der Userform werden, wenn zwei TextBoxen befüllt sind.
Meine Überprüfung (programmiert in der Userform unter Command Button1)
If (NeuerFehler > 0) And NeuerFehler.Text "" Then
Call SendNotesMailneuerFehler
End If
End Sub Der Befehl für den Emailversand ist programmiert in diese Arbeitsmappe
Private Sub SendNotesMailneuerFehler()
Dim wks As Worksheet: Set wks = ActiveSheet
Dim Maildb As Object
Dim MailDoc As Object
Dim session As Object
Dim Recipient As Variant
Dim Signature As String
Dim rtitem
Dim EmbedObj As Object
Dim AttachME As Object
Set session = CreateObject("Notes.NotesSession")
Set Maildb = session.CURRENTDATABASE
Set MailDoc = Maildb.CREATEDOCUMENT
Recipient = Worksheets("Jahres?bersicht").Range("j3").Value
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.CopyTo = Worksheets("Jahres?bersicht").Range("j4").Value & ", " & Worksheets("Jahres? _
bersicht").Range("j5").Value
MailDoc.Subject = "neuer Fehler von " & wks.Cells(3, 5) & " " & wks.Cells(4, 5) & "  _
festgestellt"
Signature = Maildb.GETPROFILEDOCUMENT("CalendarProfile").GETITEMVALUE("Signature")(0)
Set rtitem = MailDoc.CREATERICHTEXTITEM("Body")
With rtitem
.APPENDTEXT ("Ein Neuer Fehler des Bauteils " & wks.Cells(3, 5) & " " & wks.Cells(4, 5) & "  _
wurde gefunden. Es wurden" & NeuerFehler & "mal" & NeuerFehler.Text & "festgestellt")
.ADDNEWLINE (2)
Call .EMBEDOBJECT(1454, "", "C:\Eigene Dokumente\Makro\Test1.xls")
.ADDNEWLINE (2)
.APPENDTEXT Signature
End With
MailDoc.SAVEMESSAGEONSEND = True
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set session = Nothing
Set EmbedObj = Nothing
End Sub
Leider funktioniert mein Vorhaben noch nicht wie erhofft.
Da ich noch kein VBA Profi bin gehe ich davon aus, dass ich etwas grundlegend falsch mache.
Evtl. kann mir ja jemand weiterhelfen.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Emailversand aus Userform
01.08.2019 15:32:12
Andreas
VBA meckert leider über die zweite Zeile in der If Überprüfung und zeigt mir folgende Fehlermeldung an
Fehler beim Kompilieren:
Sub oder Function nicht definiert.
Noch zur Info:
Ich habe ein weiteres Sub SendNotesMail in meiner Arbeitsmappe, daher konnte ich o.s. nicht mehr so nennen, hoffe dass ist kein Problem.
AW: VBA Emailversand aus Userform
01.08.2019 15:47:23
Mullit
Hallo,
die Sub-Prozedur hat nix in dem Arbeitsmappenmodul verloren, sondern gehört als Public Sub in ein Standardmodul ( Strg+E >>> Modul )
Public Sub SendNotesMailneuerFehler()
Dim wks As Worksheet
Dim Maildb As Object
Dim MailDoc As Object
Dim session As Object
Dim Recipient As Variant
Dim Signature As String
Dim rtitem As Object
Dim EmbedObj As Object
Dim AttachME As Object
Set wks = ActiveSheet
End Sub

Gruß, Mullit
Anzeige
AW: VBA Emailversand aus Userform
01.08.2019 15:59:38
Mullit
Hallo nochmal,
so ist der Shortcut richtig *hüstel* Alt+E+M bzw. Rechtsklick auf die Module >>> Einfügen >>> Modul...
Gruß, Mullit
AW: VBA Emailversand aus Userform
02.08.2019 11:13:39
Andreas
Hallo Mullit,
Danke für den Tipp, konnte das Problem so beheben.
Habe jetzt aber leider einen weiteren Fehler. In meiner Public Sub SendNotesMailneuerFehler() ist programmiert, dass der Emailtext einen Bereich aus der TextBox in meiner Userform übernehmen soll:
…
With rtitem
.APPENDTEXT ("Ein Neuer Fehler des Bauteils " & wks.Cells(3, 5) & " " & wks.Cells(4, 5) & " wurde gefunden. Es wurden" & NeuerFehler.Value & "mal" & Neuerfehlerbeschr.Value & "festgestellt")
.ADDNEWLINE (2)
Call .EMBEDOBJECT(1454, "", "C:\Eigene Dokumente\Makro\Test1.xls")
.ADDNEWLINE (2)
.APPENDTEXT Signature
End With
…
Leider scheitert es hier an NeuerFehler.Value, bekomme immer die Fehlermeldung Variable nicht definiert.
Was mache ich dieses Mal falsch?
Anzeige
AW: VBA Emailversand aus Userform
02.08.2019 11:51:24
Mullit
Hallo Andreas,
ja wenn Deine Box NeuerFehler heißt, mußt Du die mit der Form referenzieren, sonst ist die nicht bekannt:
UserForm1.NeuerFehler.Value
Gruß, Mullit

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige