Microsoft Excel

Herbers Excel/VBA-Archiv

Hilfe!!! --> Email senden



Excel-Version: 8.0 (Office 97)

Betrifft: Hilfe!!! --> Email senden
von: Steffen
Geschrieben am: 02.06.2002 - 11:31:05

Hallo Leute ich hab a Problem und brauch wie immer wieder mal Eure Hilfe.

Ich hab im Forum folgendes MAkro 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 = "max@web.de"
Subject = "Nachricht von Provisionsabrechnung"
'
' Vielleicht steht der Text ja schon fest, dann die
' folgenden Zeilen benutzen.
'
Body = "Benutzer: " & Application.UserName & "hat am" & " " & Now & " " & " " & "die Datei" & " " & ThisWorkbook.Name & " " & "zum" & " " & Range("Counter").Value & " " & "mal" & " " & "geöffnet"

Call Mail(EMAIL, Subject, Body)

'
' Mit Mailprogramm-Aufruf sieht das so aus
'
'Call Mail(EMAIL, Subject)
End Sub

Wie bekomm ich es hin, dass die Mail automatisch ohne ein öffnen gesendet wird, der Benutzer soll (fast) nicht merken, dass die Mail gestartet wurde.

Danke Euch schonmal


Steffen

  

Re: Hilfe!!! --> Email senden
von: stefan
Geschrieben am: 02.06.2002 - 11:40:15

hallo steffen
hab einen entwas anderen vba-code

als workbook_open makro
(geht natuerlich nur, wenn die makros aktiviert sind ;=)

Sub SendMessage()
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

Dim Empfänger
Dim meinrange As Range
Dim Zeile
'## email-adressen in zelle a2-a5 > beispiel@mail.de
Set meinrange = Range("a2:a5")

With objOutlookMsg

For Each Zeile In meinrange
Empfänger = Zeile.Value
If Not x = "" Then
Set objOutlookRecip = .Recipients.Add(Empfänger)
.Subject = "Dies ist ein Outlook-Test"
.Body = ActiveSheet.Range("A1")
.Importance = olImportanceHigh
objOutlookRecip.Resolve
.Send 'hier wird SOFORT verschickt im hintergrund !!!!

End If
Next Zeile

End With
Set objOutlook = Nothing
End Sub

  

Outlook --> Netscape
von: Steffen
Geschrieben am: 02.06.2002 - 11:50:04

Leider kann ich die Mail nicht nur per Outlook versenden,

manche Benutzer verwenden Netscape.

Kannste mir vielleicht nochmal helfen

Danke

Steffen


  

Re: Outlook --> Netscape
von: stefan
Geschrieben am: 02.06.2002 - 12:19:20

upps,
dann wuerde ich das standard-mailprogramm direkt aufrufen
mit

Sub Mail4Bill()
ActiveWorkbook.SendMail Recipients:= _
"bgates@microsoft.com", _
Subject:="Hallo Billi-boy"
End Sub

wie das im hintergrund geht ????
stefan



  

Nicht das richtige --> bitte nochmal helfen
von: Steffen
Geschrieben am: 02.06.2002 - 12:25:05

Leider wird hier die gesamte Mappe gesendet dies geht leider nicht (zu groß)


Kann ich bei Netscape die Mail auch in den Postausgang legen

Danke schon mal

Steffen


  

Re: Outlook --> Netscape
von: stefan
Geschrieben am: 02.06.2002 - 12:30:00

upps,
dann wuerde ich das standard-mailprogramm direkt aufrufen
mit

Sub Mail4Bill()
ActiveWorkbook.SendMail Recipients:= _
"bgates@microsoft.com", _
Subject:="Hallo Billi-boy"
End Sub

wie das im hintergrund geht ????
stefan



  

musst du mal testen > hab kein netscape
von: stefan
Geschrieben am: 02.06.2002 - 12:32:54

probier mal das:

Sub Send_Markierung()
Dim rng As Range
Dim strFile As String
Set rng = Selection
strFile = ActiveWorkbook.FullName
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "temp.xls"
Workbooks.Add
rng.Copy Range("A1")
ActiveWorkbook.SaveAs strFile
ActiveWorkbook.SendMail "mail@test.de", "Daten"
ActiveWorkbook.Close savechanges:=False
ActiveWorkbook.SaveAs strFile
Application.DisplayAlerts = True
End Sub

  

und noch ne mail-variante
von: stefan
Geschrieben am: 02.06.2002 - 12:37:42

Sub email_senden()
Dim s1 As String
Dim s2 As String
s1 = ("mail@test.de")
s2 = ("Testmail")
Application.Dialogs(xlDialogSendMail).Show s, s2
End Sub

gruss stefan


 

Beiträge aus den Excel-Beispielen zum Thema "Hilfe!!! --> Email senden"