Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Outlook 2000 - Datenaustausch

Betrifft: Outlook 2000 - Datenaustausch von: Thomas
Geschrieben am: 17.08.2004 14:45:52

Hallo Excel-Forum!

Ich habe eine Frage im Zusammenhang mit Outlook 2000:

Mein Makro sendet ein E-Mail mit Anhang (das jeweilige Register, in welchen man sich befindet) an E-Mail-Adressen, welche in Spalte G stehen.

Nun möchte ich das Makro so erweitern, dass eine Lesebestätigung des E-Mail-Empfängers beim Öffnen erfolgt – es handelt sich nur um interne E-Mail-Empfänger im eigenen EDV-Netzwerk.

Ist es möglich, dass die Lesebestätigung je nach Login ausgeführt wird oder nicht (Anmeldung beim Start des PC)?


Sub E_Mail_Versand()

Dim iZeile As Long

For iZeile = 1 To Range("g65536").End(xlUp).Row
    If WorksheetFunction.CountIf(Range("g1:g" & iZeile), Cells(iZeile, 7)) = 1 Then
      ActiveSheet.Copy
      ActiveWorkbook.SendMail CStr(Cells(iZeile, 7)), "Versand via Excel"
       Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
       
    End If
Next iZeile
    
End Sub



Recht herzlichen Dank für Eure Hilfe und das es dieses Forum überhaupt gibt.

Es grüsst
Thomas
  


Betrifft: AW: Outlook 2000 - Datenaustausch von: Jens
Geschrieben am: 19.08.2004 11:22:45

Hallo Thomas!

Vielleicht ist dies was für Dich (natürlich von Hans!):

Grüße,
JENS

Frage: Beim Öffnen der Arbeitsmappe soll über Outlook eine Mail an einen vorgegebenen Email-Adressaten gesandt werden.
Antwort: Bitte beachten: In der Entwicklungsumgebung muss ein Verweis zur Microsoft Outlook Object Library hergestellt sein. Mit Alt+F11 in die Entwicklungsumgebung wechseln, "DieseArbeitsmappe" doppelklicken und in das sich jetzt öffnende Modul den nachfolgenden Code eingeben.


'ClassModule: DieseArbeitsmappe

Private Sub Workbook_Open()
   Dim objOutlook As Outlook.Application
   Dim objOutlookMsg As Outlook.MailItem
   Dim objOutlookRecip As Outlook.Recipient
   Dim strUser As String
   Set objOutlook = CreateObject("Outlook.Application")
   Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
   strUser = cptName
   If cptName = "" Then strUser = Application.UserName
   With objOutlookMsg
      Set objOutlookRecip = .Recipients.Add("hans@herber.de")
      objOutlookRecip.Type = olTo
      .Subject = "LogMeldung Datei " & ThisWorkbook.Name
      .Body = "Die Arbeitsmappe " & ThisWorkbook.Name & _
         " wurde von " & strUser & " am " & Date & " um " & Time & _
            " geöffnet." & vbLf & vbLf
      objOutlookRecip.Resolve
      .Send
   End With
   Set objOutlook = Nothing
End Sub

'StandardModule: Modul1

Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long

Function cptName()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
End Function



  


Betrifft: AW: Outlook 2000 - Datenaustausch von: Thomas
Geschrieben am: 20.08.2004 05:39:43

Hallo Jens

Recht herzlichen Dank für Deine Hilfe - habe bereits im Archiv nachgesehen, komme aber auch mit dieser Lösung nicht weiter. Outlook übernimmt nicht die Fax-Nummmer, wieso?

Habe dieses Makro momentan im Einsatz - aber die Fax-Nummer wird aus Zelle A1 nicht übertragen?! Das File wird jedoch ins Outlook gestellt - mit FaxMaker.

Sub Fax()
SendKeys (Range("A1").Value & "{ENTER}")
ActiveSheet.PrintOut ActivePrinter:= _
"FAXmaker auf Ne00:"
End Sub


Wer weiss weiter?

Liebe Grüsse
Thomas


 

Beiträge aus den Excel-Beispielen zum Thema "Outlook 2000 - Datenaustausch"