VBA Makro in Outlook 2016 sehr langsam (VBA)

Martin Asal @, Mittwoch, 18.03.2020, 10:02 (vor 17 Tagen) @ DieSpeedy

Hallo Speedy,

ich wundere mich über deine Funktion BrowseForFolder. Das geht doch viel einfacher mit dem FileDialog-Objekt. Ungefähr so:

Function BrowseForFolder() As String
Dim f As Office.FileDialog
 
Set f = Application.FileDialog(msoFileDialogFolderPicker)
f.Show
BrowseForFolder = f.SelectedItems(1)
 
End Function

Weitere Infos zum FileDialog-Objekt findest du im Tutorial.

Aber das löst nicht dein Performance-Problem. Das wird irgendwo innerhalb deiner ForEach-Schleife in SaveMail verursacht (Übrigens, die Variable "i" sollte noch deklariert werden). Wenn ich das richtig gesehen habe, wird die Variable "obj" innerhalb der Schleife immer wieder neu eingelesen, kann sich aber nicht verändern. Wenn dem so ist, sollte das vor die Schleife gesetzt werden, also

 
If TypeOf Application.ActiveWindow Is Outlook.Explorer Then
....
End If

sollte vor das "For Each".

Martin


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum