Thema Datum  Von Nutzer Rating
Antwort
18.03.2015 15:25:11 Fink Michael
Solved
19.03.2015 07:49:38 Gast58072
NotSolved
19.03.2015 08:09:49 Gast17272
NotSolved
Blau Outlook VBA
19.03.2015 09:19:14 Gast19517
NotSolved
26.03.2015 15:14:16 Fink
NotSolved
26.03.2015 15:28:19 Gast19517
NotSolved

Ansicht des Beitrags:
Von:
Gast19517
Datum:
19.03.2015 09:19:14
Views:
1014
Rating: Antwort:
  Ja
Thema:
Outlook VBA

Ja natürlich geht das. :)

Du musst jedoch den Anhang zuerst irgendwo mit Attachment.SaveAsFile zwischenspeichern, anschließend öffnen und dann als HTML speichern.

 

Etwa so:

Option Explicit

Sub Bsp()
  
  Dim objMail     As Outlook.MailItem
  Dim objAttch    As Outlook.Attachment
  Dim xlApp       As Object
  Dim objWkb      As Object
  Dim strPathHTML As String
  
  strPathHTML = "D:\" '< Beispiel
  
  Set objMail = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items(1) '< Beispiel
  Set objAttch = objMail.Attachments(1) '< Beispiel
  
  On Error GoTo ErrHandler
    'neue Excel-Instanz starten (hier wird 'LateBinding' verwendet)
    Set xlApp = CreateObject("Excel.Application")
    xlApp.DisplayAlerts = False 'Meldungen von Excel unterdrücken
    '(1) Anhang zwischenspeichern (im Temp-Verzeichnis von Windows; Achtung! Hier erfolgt kein Test auf Schreibberechtigung.)
    Call objAttch.SaveAsFile(Environ$("TMP") & "\" & objAttch.FileName)
    '(2) zwischengespeicherten Anhang öffnen, ...
    Set objWkb = xlApp.Workbooks.Open(Environ$("TMP") & "\" & objAttch.FileName)
    '...in HTML umwandeln (Dateiendung von Excel wird hier noch entfernt), ...
    Call objWkb.SaveAs(strPathHTML & Left$(objWkb.Name, InStrRev(objWkb.Name, ".") - 1), FileFormat:=44) '44 = Excel.xlFileFormat.xlHTML
    '...und wieder schließen
    Call objWkb.Close(False)
    '(3) zwischengespeicherten Anhang nun wieder löschen
    Call Kill(Environ$("TMP") & "\" & objAttch.FileName)
  On Error GoTo 0
  
GoTo SafeExit

ErrHandler:
  Call MsgBox(Err.Description, vbCritical, "Error " & Err.Number)
  
SafeExit:
 If Not xlApp Is Nothing _
  Then Call xlApp.Quit
 
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
18.03.2015 15:25:11 Fink Michael
Solved
19.03.2015 07:49:38 Gast58072
NotSolved
19.03.2015 08:09:49 Gast17272
NotSolved
Blau Outlook VBA
19.03.2015 09:19:14 Gast19517
NotSolved
26.03.2015 15:14:16 Fink
NotSolved
26.03.2015 15:28:19 Gast19517
NotSolved