Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formular unter Bedingungen per Email senden

Formular unter Bedingungen per Email senden
26.10.2014 11:14:45
Liz
Hallo Zusammen!
Ich habe ein Problem. Ich habe ein Formular in Excel und Word erstellt. Dieses Soll nun automatisch als Anhang per Mail versendet werden bei Aktivierung eines Buttons. Hierfür habe ich diesen Code gefunden:
Sub AktivesDokumentAlsAnhang()
Dim aws As String
Dim olapp As Object
ActiveDocument.Save
aws = ActiveDocument.FullName
Set olapp = CreateObject("Outlook.Application")
With olapp.CreateItem(0)
.To = "empfänger@server.de"
.Subject = "Text" ' Betreff optional
.HtmlBody ="Text" ' Body optional
.Attachments.Add aws
.Display
'SendKeys "%s", True ' optional Mail sofort senden
End With
Set olapp = Nothing
End Sub
Das eigentliche Problem ist jedoch, dass dieser Button erst funktioniert, wenn bestimmte Felder (in word) und bestimmte Zellen (in Excel) ausgefüllt sind. Das Ergebnis soll wie Folgt aussehen: Wenn der Button geklickt wird und Felder nicht ausgefüllt sind sollen diese Felder rot markiert werden und eine Box soll erscheinen in der steht "Bitte zuerst alle Pflichtfelder ausfüllen".
Wer kann mir helfen? Ist es leichter in Word oder in Excel zu realisieren?
Vielen Dank!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formular unter Bedingungen per Email senden
26.10.2014 11:49:22
Tino
Hallo,
da es hier ein Excelforum ist würde ich dies auch über Excel machen.
Beispiel:
Sub Beispiel()
Dim rngSoll As Range, rng As Range, booSendMail As Boolean
Dim lngFarbeOk&, lngFarbeNotOk&
lngFarbeNotOk = RGB(255, 0, 0)
lngFarbeOk = xlNone
With Tabelle1 'Tabelle anpassen
'Zellen anpassen die geprüft werden sollen
Set rngSoll = .Range("A2,A5:B5,C2:F3")
End With
'Wahr vorbelegen
booSendMail = True
For Each rng In rngSoll
If rng.Value  "" Then
rng.Interior.Color = lngFarbeOk 'Zelle ausgefüllt
Else
rng.Interior.Color = lngFarbeNotOk 'Zelle nicht ausgefüllt
booSendMail = False
End If
Next rng
If booSendMail Then
Call AktivesDokumentAlsAnhang 'hier Mail senden
Else
MsgBox "Alle roten Felder ausfüllen!", vbExclamation 'hier keine Mail senden
End If
End Sub
Gruß Tino
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige