Bitte Tipp für VBA-Script - Outlook 2007 IMAP-Ordner aufklappen
Hallo zusammen,
an alle "Visual-Basic-Experten" in der Community...
Ich verwende privat Outlook 2007 mit folgenden Konten:
- eine PST (POP3 eMails)
- ein IMAP-Account
- zwei Archiv-PST
Da Outlook ja die "Unart" hat IMAP-Ordner nicht automatisch "aufzuklappen" habe ich mir mit einem VBA-Script nach einer Idee aus dem Netz beholfen - siehe nachstehend:
So weit funktioniert das Script auch --> der gewünschte IMAP-Ordner sowie alle Unterordner werden geöffnet.
Einzig der Abschluss mit dem Wechsel zu "Outlook-Heute" funktioniert nicht.
Hat jemand eine Idee was ich ändern muss? Mir würde es auch reichen wenn zum Schluss in den Posteingang
des IMAP-Ordners gewechselt wird...
Danke für Eure Ideen + Hilfe bereits im Voraus (Visual Basic ist nicht gerade meine Stärke *g*)!
lg
PS: Screenshot nachstehend!
an alle "Visual-Basic-Experten" in der Community...
Ich verwende privat Outlook 2007 mit folgenden Konten:
- eine PST (POP3 eMails)
- ein IMAP-Account
- zwei Archiv-PST
Da Outlook ja die "Unart" hat IMAP-Ordner nicht automatisch "aufzuklappen" habe ich mir mit einem VBA-Script nach einer Idee aus dem Netz beholfen - siehe nachstehend:
Private Sub Application_Startup()
Dim objFolder As Outlook.folder
Dim folder As Outlook.folder
Dim folder2 As Outlook.folder
Dim strStartFolder As String
Dim lngFolder As Long
Dim x As Integer
Dim bad As String
'namen des Ordners, der nicht expandiert werden soll
bad = "Archivordner IMAP"
'max ermitteln
x = Outlook.Session.Folders.Count
' Auch bei Fehler weitermachen '
On Error Resume Next
' Startordner festlegen (z. B. "Kontakte", "Posteingang", "Aufgaben" etc.)
strStartFolder = "Outlook-Heute"
' Alle Konten-Ordner aufklappen'
For i = 0 To x
'überprüfen ob es der bad ordner ist, nur weiter,
'wenn ers nicht ist
If (Outlook.Session.Folders.Item(i) <> bad) Then
'Posteingang markieren um Konto order aufzuklappen
Call Outlook.ActiveExplorer.SelectFolder( _
Outlook.Session.Folders(i).Folders("Posteingang"))
subs = Outlook.Session.Folders(i).Folders( _
"Posteingang").Folders.Count
If subs > 0 Then
'Alle unterordner auch nochmal checken
For Each folder In Outlook.Session.Folders(i).Folders( _
"Posteingang").Folders
'wenn größer ist, alle unterordner auch nochmal markieren
If folder.Folders.Count > 0 Then
'Alle Elemente ermitteln und markieren um vollständig
'aufzuklappen
'Alle elemente werden markiert, um "id lücken" zu
'überbrücken und einen crash zu vermeiden
For Each folder2 In folder.Folders
Call Outlook.ActiveExplorer.SelectFolder(folder2)
Next folder2
End If
Next folder
End If
End If
Next i
'zu guter letz zu outlook heute wechseln (nutze den persönlichen ordner
'dafür, der einfach "Heute" heisst, da er sich nicht löschen läßt.
Call Outlook.ActiveExplorer.SelectFolder(Outlook.Session.Folders("Heute"))
End Sub
So weit funktioniert das Script auch --> der gewünschte IMAP-Ordner sowie alle Unterordner werden geöffnet.
Einzig der Abschluss mit dem Wechsel zu "Outlook-Heute" funktioniert nicht.
Hat jemand eine Idee was ich ändern muss? Mir würde es auch reichen wenn zum Schluss in den Posteingang
des IMAP-Ordners gewechselt wird...
Danke für Eure Ideen + Hilfe bereits im Voraus (Visual Basic ist nicht gerade meine Stärke *g*)!
lg
PS: Screenshot nachstehend!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 04.01.2012 um 09:55:49 Uhr
Codeformatierung.
Content-ID: 178307
Url: https://administrator.de/contentid/178307
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Moin,
Es wäre also hilfreich zu wissen, wie deine Postfächer und die entsprechenden "Unter"-Ordner bezeichnet sind. Ein Screenshot wäre nicht schlecht.
Grüße aus Rostock
Wolfgang
(Netwolf)
zu guter letz zu outlook heute wechseln
Einzig der Abschluss mit dem Wechsel zu "Outlook-Heute" funktioniert nicht.
"Outlook-Heute" ist kein Ordner!Einzig der Abschluss mit dem Wechsel zu "Outlook-Heute" funktioniert nicht.
(nutze den persönlichen ordner dafür, der einfach "Heute" heisst, da er sich nicht löschen läßt.
der persönliche "Ordner" ist eigentlich kein Ordner sondern ein Postfach, es sei denn, du meinst etwas anderesCall Outlook.ActiveExplorer.SelectFolder(Outlook.Session.Folders("Heute"))
kann also nicht funktionieren, das es i.d.R. keinen Ordner mit der Bezeichnung "Heute" gibt.Es wäre also hilfreich zu wissen, wie deine Postfächer und die entsprechenden "Unter"-Ordner bezeichnet sind. Ein Screenshot wäre nicht schlecht.
Grüße aus Rostock
Wolfgang
(Netwolf)