Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Outlook 2010 Fehler (xlDialogSaveAs).Show

VBA Outlook 2010 Fehler (xlDialogSaveAs).Show
07.06.2014 07:21:41
Thorsten
Hallo,
ich versuche eMail-Anhänge zu speichern.
Der genaue Speicherpfad steht in den Anhängen(.xls) der eMail.
Leider ist der Name/ Bezeichnung immer anders.
Die Anhänge werden temporär gespeichert, geöffnet und dann kommt mein Problem:
der Benutzer soll das Speicherverzeichnis auswählen.
Mit "Application.Dialogs(xlDialogSavecopy).Show xxx" bekomme ich eine Fehlermeldung.
Genau wie mit ".Sheets.Count.Activate"
Code:

Option Explicit
Public IEApp, IEDocument, fso As Object
Public i, WochentaG, MultIp As Byte
Public GesDat As Date
Public pfad11, StrTyp, Dateiname, Dateiname_neu, Zeit, strPath, file As Variant
Public Mail As Outlook.mailitem
Function SZeit() As Date
pfad11 = "C:\Temp\"
StrTyp = "star.xlsm"
Dateiname = Dir(pfad11 & StrTyp)
Dateiname_neu = Dateiname
SZeit = FileDateTime(pfad11 & Dateiname)
End Function
Function eXeX() As Object
Set eXeX = CreateObject("Excel.Application")
With eXeX
.Visible = True
.EnableEvents = False
End With
End Function
Function MonAt2() As Variant
MonAt2 = Format(Date, "MMMM" & "_" & "YYYY")
End Function
Function JaHr2() As Variant
JaHr2 = Format(Date, "YYYY")
End Function
Public Sub SaveDat(Mail As Outlook.mailitem)
If Mail.Attachments.Count > 0 And Mail.ReceivedTime > SZeit Then
For i = 1 To Mail.Attachments.Count
If (Mid(Mail.Attachments.Item(i).FileName, 1, 8) = "xxxxxxxx") Then
Mail.Attachments.Item(i).SaveAsFile "C:\Temp\Test\" & Mail.Attachments.Item(i). _
FileName
pfad11 = "C:\Temp\Test\"
StrTyp = Mail.Attachments.Item(i).FileName '"*xxx*.xls*"
Dateiname = Dir(pfad11 & StrTyp)
Dateiname_neu = Dateiname
Zeit = FileDateTime(pfad11 & Dateiname)
Do While Dateiname  ""
If Zeit .Sheets.Count.Activate 'FEHLER
.ActiveWorkbook.PrintOut Copies:=1, Collate:=True
.Application.Dialogs(xlDialogSaveAs).Show "d:\xx\" _
& JaHr2 & "\" & MonAt2 & "\" & Dateiname_neu 'FEHLER
.Application.Quit
End With
End If
Next i
End If
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Outlook 2010 Fehler (xlDialogSaveAs).Show
07.06.2014 09:06:14
Tino
Hallo,
versuch mal so (nicht getestet!)
With eXeX
With .Workbooks.Open(pfad11 & Dateiname_neu)
.Sheets(.Sheets.Count).Activate 'FEHLER
.PrintOut Copies:=1, Collate:=True
End With
.Dialogs(xlDialogSaveAs).Show _
"d:\xx\" & JaHr2 & "\" & MonAt2 & "\" & Dateiname_neu 'FEHLER
.Quit
End With
Gruß Tino

Anzeige
AW: VBA Outlook 2010 Fehler (xlDialogSaveAs).Show
07.06.2014 09:07:19
Nepumuk
Hallo,
Outlook kennt keine Excelkonstanten wie xlDialogSaveAs. Da musst du deren numerischen Wert benutzen. Also 5 statt der Konstanten. Würdest du Option Explicit benutzen, hätte dir das der Debugger schon gesagt.
.Sheets.Count gibt die Anzahl der Blätter (Tabellen, Diagramme, Makrovorlagen usw.) in einer Mappe wieder. Du Versuchst da eine Zahl zu aktivieren, das geht natürlich nicht. Das musst du so machen:
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Activate
Gruß
Nepumuk

Anzeige
AW: VBA Outlook 2010 Fehler (xlDialogSaveAs).Show
07.06.2014 09:25:58
Thorsten
TOP!
Geht.
Vielen Dank!

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige