Excel_Workbook_via_Outlook_Senden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Excel_Workbook_via_Outlook_Senden
von: Bastelpeter
Geschrieben am: 23.02.2005 20:05:38
Hallo zusammen,
habe mir das nachfolgende Makro im www besorgt.


Sub Excel_Workbook_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = ThisWorkbook.FullName
InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
        .To = "peter@gmx.de"
        .Subject = "Testmeldung von Excel2000 " & Date & Time
        .attachments.Add AWS
        .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
        'Hier wird die Mail nochmals angezeigt
        .Display
        'Hier wird die Mail gleich in den Postausgang gelegt
        Mail.Send '"hier hängt sich Excel jedoch immer auf"
End With
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

'Mail.Send '"so erscheint das Display"
Nun die Frage geht das auch ohne Display, MSGbox "Die DATEI wurde gesendet!"

Gruß aus Mainz ("heute Bushland")/ Sonnenpeter
Bild

Betrifft: AW: Excel_Workbook_via_Outlook_Senden
von: Björn B.
Geschrieben am: 23.02.2005 20:42:09
Hallo Peter,
meinst du so?

Sub Excel_Workbook_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = ThisWorkbook.FullName
InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
        .To = "peter@gmx.de"
        .Subject = "Testmeldung von Excel2000 " & Date & Time
        .attachments.Add AWS
        .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
        'Hier wird die Mail nochmals angezeigt
        '.Display
        'Hier wird die Mail gleich in den Postausgang gelegt
        .Send
End With
MsgBox "Die DATEI wurde gesendet, bzw. liegt im Postausgang!"
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Gruß
Björn
Bild

Betrifft: AW: Excel_Workbook_via_Outlook_Senden
von: Sonnenpeter
Geschrieben am: 23.02.2005 21:31:30
Hallo Björn,
ja Danke ich meinte so etwas, nur fragt Outlook jetzt ab ob ich den Zugriff erlaube.

Gruß / Sonnenpeter
Bild

Betrifft: AW: Excel_Workbook_via_Outlook_Senden
von: Nepumuk
Geschrieben am: 23.02.2005 21:56:59
Hallo Peter,
das lässt sich ausschalten. Kannst du zusätzliche Software auf dem PC installieren?
Gruß
Nepumuk
Bild

Betrifft: AW: Excel_Workbook_via_Outlook_Senden
von: Sonnenpeter
Geschrieben am: 23.02.2005 22:17:13
Hallo Nepumuk,
sicher doch, aber gehts den wirklich nur mit zusätzlicher Software?

Gruß / Sonnenpeter
Bild

Betrifft: Antwort lautet Ja - mit Text
von: Björn B.
Geschrieben am: 23.02.2005 22:26:43
Hallo Peter,
schau mal hier nach ...
http://www.contextmagic.com/express-clickyes/
Gruß
Björn
Bild

Betrifft: AW: Antwort lautet Ja - mit Text
von: Sonnenpeter
Geschrieben am: 23.02.2005 22:35:29
Danke Björn,
was es nicht alles gibt.

Gruß Sonnenpeter
Bild

Betrifft: Danke für die Rückmeldung - o. T.
von: Björn B.
Geschrieben am: 23.02.2005 23:11:11

Bild

Betrifft: AW: Excel_Workbook_via_Outlook_Senden
von: Nepumuk
Geschrieben am: 23.02.2005 22:31:37
Hallo Peter,
wenn du Outlook weiter benutzen willst, dann nicht. Ist ja auch ganz sinnvoll diese Sicherheitsabfrage. Auf folgender Seite:
http://www.contextmagic.com/downloads.htm
findest du das Programm: Express ClickYes
Instaliere das und ändere dein Makro so:


Option Explicit
Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As StringAs Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As LongByVal wMsg As LongByVal wParam As Long, lParam As Any) As Long
Sub Excel_Workbook_via_Outlook_Senden()
    Dim Nachricht As Object, OutApp As Object
    If FindWindow("EXCLICKYES_WND", 0&) = 0 Then Shell "C:\Programme\Express ClickYes\ClickYes.EXE", 4
    SendMessage FindWindow("EXCLICKYES_WND", 0&), RegisterWindowMessage("CLICKYES_SUSPEND_RESUME"), 0, 0
    Set OutApp = CreateObject("Outlook.Application")
    Dim AWS As String
    'Aktive Arbeitsmappe wird als Mail gesendet
    AWS = ThisWorkbook.FullName
    InitializeOutlook = True
    Set Nachricht = OutApp.CreateItem(0)
    With Nachricht
        .To = "peter@gmx.de"
        .Subject = "Testmeldung von Excel2000 " & Date & Time
        .attachments.Add AWS
        .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
        'Hier wird die Mail nochmals angezeigt
        '.Display
        'Hier wird die Mail gleich in den Postausgang gelegt
        SendMessage FindWindow("EXCLICKYES_WND", 0&), RegisterWindowMessage("CLICKYES_SUSPEND_RESUME"), 1, 0
        .Send
        SendMessage FindWindow("EXCLICKYES_WND", 0&), RegisterWindowMessage("CLICKYES_SUSPEND_RESUME"), 0, 0
    End With
    MsgBox "Die DATEI wurde gesendet, bzw. liegt im Postausgang!"
    'Outlook schliessen
    'OutApp.Quit
    Set OutApp = Nothing
    Set Nachricht = Nothing
End Sub


Gruß
Nepumuk
Bild

Betrifft: AW: Excel_Workbook_via_Outlook_Senden
von: Sonnenpeter
Geschrieben am: 23.02.2005 22:42:08
Danke Nepumuk,
Wie oft hört man „Man kann ja nicht allen Menschen auf der Welt helfen!“ Na und? Helfen wir einem, und wenn wir dem geholfen haben, dann helfen wir dem nächsten ...
© Wolfgang J. Reus (*1959),
Gruß aus Mainz
Sonnenpeter
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Null in Diagramm ausblenden"