Ich fänd's logisch, wenn der Fehler in der Zeile mit dem Add-Befehl
auftritt.
Denn:
Gibt es wirklich auf Session-Ebene einen Ordner, der "Persönliche
Ordner" heißt?
Wenn das die Standard-Mailbox sein soll (wie es aus dem Anfangsposting
hervorging), gehört da nicht noch was dazu?
Auflisten:
For i=1 to myNS.Folders.count
msgbox myNs.Folders(i).Name
next
--
HTH
Hans-Juergen
--
"Sven Arndt" <***@gmx.net> schrieb im Newsbeitrag news:***@TK2MSFTNGP09.phx.gbl...
Guten Morgen Hans-Juergen,
hier sind die Dim's. Meiner Meinung nach sind sie korrekt.
Dim myOlApp As New Outlook.Application
Dim myOlGroup As Outlook.OutlookBarGroup
Dim myOlShortCut As Outlook.OutlookBarShortcuts
Dim myNs As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim mySelection As Outlook.Selection
Dim myItem As Object
Vielleicht hast Du auch schon meine Verständnisfrage gelesen. Zum Test
habe
ich mir bei Outlook2000 den Ordner mal per Hand angelegt und getestet
was
passiert. Und da läuft der Code ohne Probleme durch.
Gruß,
Sven
Post by Hans-Juergen NeschtschenkoSind die dims korrekt?
--
HTH
Hans-Juergen
--
Hallo Hans-Juergen,
On Error Resume Next
Set myNs = myOlApp.GetNamespace("MAPI")
Set myFolder = myNs.Folders("Persönliche
Ordner").Folders("Wiedervorlage")
On Error GoTo 0
If myOlApp.ActiveExplorer Is Nothing Then
Exit Sub
End If
' Prüfen ob Ordner existiert, gegebenenfalls erstellen
If myFolder Is Nothing Then
Set myFolder = myNs.Folders("Persönliche
Ordner").Folders.Add("Wiedervorlage")
' Shortcut erstellen
Set myOlBar = myOlApp.ActiveExplorer.Panes.Item("Outlook-Leiste")
With myOlBar
Set myOlGroup =
myOlBar.Contents.Groups.Item("Outlook-Verknüpfungen")
Set myOlShortCut = myOlGroup.Shortcuts
myOlShortCut.Add myFolder, "Wiedervorlage"
End With
End If
' Auswahl der Mail
Set mySelection = myOlApp.ActiveExplorer.Selection
Set myItem = mySelection.Item(1)
' verschieben der Mail in "Wiedervorlage"
If TypeName(myItem) = "MailItem" Then
myItem.Move myFolder
End If
If Err.Number <> 0 Then
MsgBox "Fehler: " & Err.Number & vbCrLf & Err.Description
Cancel = True
End If
Wenn ich das Makro nun starte und der Ordner existiert noch nicht bekomme
"Laufzeitfehler: Der Vorgang konnte nicht ausgeführt werden. Ein Objekt
wurde nicht gefunden."
Das ist ja auch klar, weil es den Ordner noch nicht gibt. Dafür habe ich
ja
auch die If-Anweisung die das abprüfen soll.
Wieso funktioniert das nicht?
Gruß,
Sven
Post by Hans-Juergen NeschtschenkoJetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenkoda mir die 6 (Posteingang!) zweifelhaft vorkam. Siehe VBA-Hilfe.
Option Explicit
Sub test()
Dim myolapp As New Outlook.Application
Dim myfolder As Outlook.MAPIFolder
On Error Resume Next
Set myfolder =
myolapp.Session.GetDefaultFolder(6).Parent.Folders("Wiedervorlage")
On Error GoTo 0
If myfolder Is Nothing Then
Set myfolder =
myolapp.Session.GetDefaultFolder(6).Parent.Folders.Add("Wiedervorlage",