Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
300to304
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
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mailversand ohne Anlage

Mailversand ohne Anlage
30.08.2003 12:31:57
Thomas Wulf
Guten Tag und fröhliches Hallo zusammen,
ich habe da eine Wochenendbeschäftigung.Vielleicht kann mir einer dabei helfen.
Ich habe schon das Archiv durchstöbert, aber nur den unten stehenden Code gefunden.
Mein Ziel ist es, beide miteinander zu kombinieren.
Wenn der Wert in Zelle A1 in meiner Arbeitsmappe >3 ist, soll automatisch eine Mail mit Outlook versandt
werden.
Es soll aber nicht wie im Code 1 die Arbeitsmappe als Anlage beigfügt werden, sondern wie im Code 2 nur eine
Textnachricht gesendet werden.
Dafür wird die Mail aber im Code 2 nicht automatisch versandt.
Im Archiv ist Frage schon mal vorhanden, aber keine Lösung dabei.
Wenn mir einer weiterhelfen könnte, wäre ich sehr dankbar für einen Lösungsvorschlag.

1.) mein Code mit dem ich zur Zeit arbeite.


Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) > 2 Then _
ActiveWorkbook.SendMail _
Recipients:="Empfängeradresse", _
Subject:="ACHTUNG!!! Änderung in Zelle A1."
End Sub


2.) diesen Code habe ich im Archiv gefunden.

Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Private Sub Mail(eMail As String, Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub


Sub MailVersenden()
Dim eMail As String, Subject As String, Body As String
eMail = "Empfängeradresse"
Subject = "Betreff-Text"
Body = "Dein zu versendender Text"
Call Mail(eMail, Subject, Body)
End Sub


Schon mal danke im voraus und ein schönes Wochenende.

schöne Grüße
Thomas

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

Betreff
Datum
Anwender
Anzeige
fast perfekte Lösung
30.08.2003 13:16:23
Reinhard
Hallo,
so klappt es bei mir mit Outlookexpress und win98 und xl2000, allerdings muss man noch auf senden klicken.
Gruß
Reinhard

Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Private Sub Mail(eMail As String, Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub


Sub MailVersenden()
Dim eMail As String, Subject As String, Body As String
eMail = "billgates@microsoft.de"
Subject = "Du..."
Body = "... mit deinen mistigen Programmen..."
Call Mail(eMail, Subject, Body)
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 1 And Target.Column <> 1 Then Exit Sub
If Target.Value > 2 Then Call MailVersenden
End Sub

Anzeige
AW: fast perfekte Lösung
30.08.2003 15:05:35
Thomas
Hallo Reinhard,
danke für die Mühe. Es klappt auch unter XP.
Der erste Schritt ist getan, nun muß ich nur noch sehen wie die Nachricht versendet wird ohne auf senden zu klicken.

bis dann und ein schönes Wochenende

Gruß Thomas
neue Lösung, kein Klick auf Senden mehr :-)
30.08.2003 17:27:40
Reinhard
Hi Thomas,
hatt mich wider Zeit und Nerven gekostet, bringt aber auch Spass.
Folgendes habe ich zusammengebastelt, läuft bei mir super, egal ob OutlookExpress schon läuft oder nicht.
Achja, ich hab die CC und BCC offen, dementsprechend muss man ggfs einige TAB rausnehmen.
Habe das jetzt nicht getestet, aber mittels senkeys kann man sicher auch noch eine DateiAnlage anhängen.

Gruß
Reinhard

Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Private Sub Mail(eMail As String, Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub


Sub MailVersenden()
Dim eMail As String, Subject As String, Body As String
eMail = "xyz@de"
Subject = "Hallo Süßer"
Body = "lass dich nicht unterkriegen, lächle .-)"
Call tt
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 1 And Target.Column <> 1 Then Exit Sub
If Target.Value > 2 Then Call MailVersenden
End Sub

Sub tt()
raus = Shell("c:\Programme\Outlook Express\msimn.exe", 1)
'AppActivate raus
SendKeys "%" & "DNE" & "a@b.de"
SendKeys "{TAB}" & "{TAB}" & "{TAB}" & "Feld wurde geändert" & "{TAB}"
SendKeys "dies ist eine automatische Erinnerung, GuK "
SendKeys "%s"
End Sub

Anzeige
AW obendrüber ist falsch, hier die Lösung
30.08.2003 18:01:36
Reinhard
Hi,
hab mich da oben vertan, hier ist die Lösung.
Wie gesagt, ggfs die Anzahl der TAB verändern wenn nicht die BCC und CC felder im OutlookExpress offen sind.
Gruß
Reinhard


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 1 And Target.Column <> 1 Then Exit Sub
If Target.Value > 2 Then Call tt
End Sub

Sub tt()
raus = Shell("c:\Programme\Outlook Express\msimn.exe", 1)
'AppActivate raus
SendKeys "%" & "DNE" & "a@b.cd"
SendKeys "{TAB}" & "{TAB}" & "{TAB}" & "Feld wurde geändert" & "{TAB}"
SendKeys "dies ist eine automatische Erinnerung, GuK "
SendKeys "%s"
End Sub

Anzeige
AW: AW obendrüber ist falsch, hier die Lösung
30.08.2003 19:26:34
Thomas
Hallo Reinhard,
ich bin nicht eher dazu gekommen es auszuprobieren.
Ich ziehe den Hut vor Dir.
Absolut perfekt, genauso habe ich es mir vorgestellt.

bis dann
gruß Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige