Discussion:
Prüfen, ob Ordner schon vorhanden ist
(zu alt für eine Antwort)
Sven Arndt
2004-12-15 10:17:57 UTC
Permalink
Hallo,

ich erstelle mir per Makro einen neuen Ordner.
Wie kann ich abprüfen, ob der Ordner schon vorhanden ist?

Sub test()
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
End Sub


Gruß,
Arndtinho
Hans-Juergen Neschtschenko
2004-12-15 15:27:14 UTC
Permalink
Sub test()
on error resume next
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")
on error goto 0
if myDesFolder is nothing then
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder",
6)
end if
End Sub
--
HTH
Hans-Juergen
--
"Sven Arndt" <***@gmx.net> schrieb im Newsbeitrag news:%***@TK2MSFTNGP15.phx.gbl...
Hallo,

ich erstelle mir per Makro einen neuen Ordner.
Wie kann ich abprüfen, ob der Ordner schon vorhanden ist?

Sub test()
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder",
6)
End Sub


Gruß,
Arndtinho
Sven Arndt
2004-12-15 16:27:17 UTC
Permalink
Hallo,

danke für den Tipp.
Habe meinen Code jetzt so umgeschrieben und den Ordner aus der Outlook
Ordner Liste gelöscht. Danach das Makro neu ausgeführt, aber da erhielt ich
diesen Fehler:

Laufzeitfehler: Der Vorgang konnte nicht ausgeführt werden. Ein Objekt wurde
nicht gefunden.

Der Debugger zeigt den Fehler in folgender Zeile:

Set myFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")

Zum besseren Verständnis ist hir der komplette Code:

Sub test()

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", 6)
End If

End Sub


Gruß,
Arndtinho
Post by Sven Arndt
Sub test()
on error resume next
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")
on error goto 0
if myDesFolder is nothing then
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
end if
End Sub
--
HTH
Hans-Juergen
--
Hallo,
ich erstelle mir per Makro einen neuen Ordner.
Wie kann ich abprüfen, ob der Ordner schon vorhanden ist?
Sub test()
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
End Sub
Gruß,
Arndtinho
Sven Arndt
2004-12-15 16:31:51 UTC
Permalink
natürlich sollte es statt "MyPersFolder" "Wiedervorlage" heissen.
Post by Sven Arndt
Hallo,
danke für den Tipp.
Habe meinen Code jetzt so umgeschrieben und den Ordner aus der Outlook
Ordner Liste gelöscht. Danach das Makro neu ausgeführt, aber da erhielt
Laufzeitfehler: Der Vorgang konnte nicht ausgeführt werden. Ein Objekt
wurde nicht gefunden.
Set myFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")
Sub test()
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", 6)
End If
End Sub
Gruß,
Arndtinho
Post by Sven Arndt
Sub test()
on error resume next
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")
on error goto 0
if myDesFolder is nothing then
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
end if
End Sub
--
HTH
Hans-Juergen
--
Hallo,
ich erstelle mir per Makro einen neuen Ordner.
Wie kann ich abprüfen, ob der Ordner schon vorhanden ist?
Sub test()
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
End Sub
Gruß,
Arndtinho
Hans-Juergen Neschtschenko
2004-12-16 13:46:07 UTC
Permalink
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert (Kalender),
da 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",
9)
End If

myfolder.Display

End Sub
--
HTH
Hans-Juergen
--
"Sven Arndt" <***@gmx.net> schrieb im Newsbeitrag news:***@TK2MSFTNGP15.phx.gbl...
Hallo,

danke für den Tipp.
Habe meinen Code jetzt so umgeschrieben und den Ordner aus der Outlook
Ordner Liste gelöscht. Danach das Makro neu ausgeführt, aber da erhielt
ich
diesen Fehler:

Laufzeitfehler: Der Vorgang konnte nicht ausgeführt werden. Ein Objekt
wurde
nicht gefunden.

Der Debugger zeigt den Fehler in folgender Zeile:

Set myFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")

Zum besseren Verständnis ist hir der komplette Code:

Sub test()

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",
6)
End If

End Sub


Gruß,
Arndtinho
Post by Sven Arndt
Sub test()
on error resume next
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders("MyPersFolder")
on error goto 0
if myDesFolder is nothing then
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
end if
End Sub
--
HTH
Hans-Juergen
--
Hallo,
ich erstelle mir per Makro einen neuen Ordner.
Wie kann ich abprüfen, ob der Ordner schon vorhanden ist?
Sub test()
Set myDesFolder =
myOlApp.Session.GetDefaultFolder(6).Parent.Folders.Add("MyPersFolder", 6)
End Sub
Gruß,
Arndtinho
Sven Arndt
2004-12-16 17:55:00 UTC
Permalink
Hallo Hans-Juergen,

ich habe ein wenig an meinem Code gebastelt. So sieht er nun aus:

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
ich folgenden Fehler bei 'Set myFolder = myNs.Folders(...' :

"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 Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert (Kalender),
da 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",
9)
End If
myfolder.Display
End Sub
--
HTH
Hans-Juergen
Hans-Juergen Neschtschenko
2004-12-17 08:47:14 UTC
Permalink
Sind die dims korrekt?
--
HTH
Hans-Juergen
--
"Sven Arndt" <***@gmx.net> schrieb im Newsbeitrag news:%***@TK2MSFTNGP10.phx.gbl...
Hallo Hans-Juergen,

ich habe ein wenig an meinem Code gebastelt. So sieht er nun aus:

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
ich folgenden Fehler bei 'Set myFolder = myNs.Folders(...' :

"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 Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenko
da 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",
Post by Hans-Juergen Neschtschenko
9)
End If
myfolder.Display
End Sub
--
HTH
Hans-Juergen
Sven Arndt
2004-12-17 08:59:58 UTC
Permalink
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 Neschtschenko
Sind 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 Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenko
da 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",
Post by Hans-Juergen Neschtschenko
9)
End If
myfolder.Display
End Sub
--
HTH
Hans-Juergen
Hans-Juergen Neschtschenko
2004-12-17 14:06:05 UTC
Permalink
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 Neschtschenko
Sind 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 Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenko
da 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",
Post by Hans-Juergen Neschtschenko
Post by Hans-Juergen Neschtschenko
9)
End If
myfolder.Display
End Sub
--
HTH
Hans-Juergen
Sven Arndt
2004-12-17 15:34:10 UTC
Permalink
Hallo Hans-Juergen,

habe den Counter eingebaut und den Code ein wenig abgeändert:

Sub test()

Dim myNs As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim i As Integer
Dim FolderExist As Boolean

Set myNs = myOlApp.GetNamespace("MAPI")

FolderExist = True

For i = 1 To myNs.Folders("Persönliche Ordner").Folders.Count

If Not myNs.Folders("Persönliche Ordner").Folders(i).Name =
"Wiedervorlage" Then
FolderExist = False
End If

Next

If FolderExist = False Then
Set myFolder = myNs.Folders("Persönliche
Ordner").Folders.Add("Wiedervorlage")
End If

End Sub

Dann habe ich den Ordner "Wiedervorlage" gelöscht und das Makro ausgeführt.
Nun wird der Ordner ohne Probleme erstellt. Wenn ich jetzt das Makro zum
zweiten Mal ausführe, bekomme ich gemeldet, dass der Ordner nicht erstellt
werden kann. IsT ja eigentlich auch logisch, weil es den Ordne ja bereits
gibt. Was habe ich nun schon wieder verkehrt gemacht?

Gruß,
Sven
Post by Hans-Juergen Neschtschenko
Ich fänd's logisch, wenn der Fehler in der Zeile mit dem Add-Befehl
auftritt.
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?
For i=1 to myNS.Folders.count
msgbox myNs.Folders(i).Name
next
--
HTH
Hans-Juergen
--
Sven Arndt
2004-12-17 15:53:29 UTC
Permalink
Hallo,

ich nochmal. Hab ein wenig probiert und mir alles ausgegeben was geht. Die
neue und nun auch (scheinbar) funktionierende Version:

Sub test()

Dim myNs As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim i As Integer
Dim FolderExist As Boolean

Set myNs = myOlApp.GetNamespace("MAPI")

FolderExist = False

For i = 1 To myNs.Folders("Persönliche Ordner").Folders.Count

If myNs.Folders("Persönliche Ordner").Folders(i).Name =
"Wiedervorlage" Then
FolderExist = True
End If

Next

If FolderExist = False Then
Set myFolder = myNs.Folders("Persönliche
Ordner").Folders.Add("Wiedervorlage")
End If

End Sub

Danke für Deine Ausdauer und Tipps.
Werde sicherlich bald wieder hier auftauchen in der NG.

Gruß,
Sven
Post by Sven Arndt
Hallo Hans-Juergen,
Sub test()
Dim myNs As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim i As Integer
Dim FolderExist As Boolean
Set myNs = myOlApp.GetNamespace("MAPI")
FolderExist = True
For i = 1 To myNs.Folders("Persönliche Ordner").Folders.Count
If Not myNs.Folders("Persönliche Ordner").Folders(i).Name =
"Wiedervorlage" Then
FolderExist = False
End If
Next
If FolderExist = False Then
Set myFolder = myNs.Folders("Persönliche
Ordner").Folders.Add("Wiedervorlage")
End If
End Sub
Dann habe ich den Ordner "Wiedervorlage" gelöscht und das Makro
ausgeführt. Nun wird der Ordner ohne Probleme erstellt. Wenn ich jetzt das
Makro zum zweiten Mal ausführe, bekomme ich gemeldet, dass der Ordner
nicht erstellt werden kann. IsT ja eigentlich auch logisch, weil es den
Ordne ja bereits gibt. Was habe ich nun schon wieder verkehrt gemacht?
Gruß,
Sven
Post by Hans-Juergen Neschtschenko
Ich fänd's logisch, wenn der Fehler in der Zeile mit dem Add-Befehl
auftritt.
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?
For i=1 to myNS.Folders.count
msgbox myNs.Folders(i).Name
next
--
HTH
Hans-Juergen
--
Michael Bauer
2004-12-16 21:01:57 UTC
Permalink
Hallo Hans-Juergen,
Post by Hans-Juergen Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenko
da 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")
warum nimmst Du nicht gleich Session.Folders?
--
Viele Grüße
Michael Bauer
Sven Arndt
2004-12-17 08:04:13 UTC
Permalink
Guten Morgen,

ich habe jetzt mal von vorn begonnen und den Code von Hans-Juergen genommen.
Aber ich erhalte wieder den gleichen Fehler bei 'Set myFolder =
myNs.Folders(...' :

"Laufzeitfehler: Der Vorgang konnte nicht ausgeführt werden. Ein Objekt
wurde nicht gefunden."

Gruß,
Sven
Post by Sven Arndt
Hallo Hans-Juergen,
Post by Hans-Juergen Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenko
da 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")
warum nimmst Du nicht gleich Session.Folders?
--
Viele Grüße
Michael Bauer
Hans-Juergen Neschtschenko
2004-12-17 08:43:51 UTC
Permalink
Ich habe damit wirklich nix zu tun. Ich will nicht mal die Objekte
aufdröseln, die da angesprochen werden.
Ich versuchte, ein code-stückchen des OP so zu verändern, dass er damit
klar kommt.
Die Frage lautete "Ist der Ordner schon da?"
Und das kann man mit einem Zugriffsversuch regeln, der scheitert oder
auch nicht scheitert.
Der code in meinem zweiten posting läuft ohne Fehler durch.
Ich wollte weder weitere methodische Impulse vermitteln, noch treibt
mich ein pädagogischer Eros.
Wenn ich nämlich die genannte Aufgabe hätte selbst lösen müssen, hätte
ich schon mal mit anderen Variablennamen begonnen :-)

Aber bekanntlich führen viele Wege zu des Hasen Tod.
Natürlich hätte man session.folders("Blahblah") verwenden können.
Blahblah muss dann aber auf der obersten Ebene existieren. Der OP legt
mit seiner Methode immer einen "Schwester"-Ordner zu seinem aktiven
Posteingang an. Ob das gewollt ist kann ich nicht beurteilen.
--
HTH
Hans-Juergen
--
"Michael Bauer" <***@t-online.de> schrieb im Newsbeitrag news:***@TK2MSFTNGP11.phx.gbl...
Hallo Hans-Juergen,
Post by Hans-Juergen Neschtschenko
Jetzt habe ich es selbst getestet; Ordnertyp auf 9 geändert
(Kalender),
Post by Hans-Juergen Neschtschenko
da 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")
warum nimmst Du nicht gleich Session.Folders?
--
Viele Grüße
Michael Bauer
Michael Bauer
2004-12-17 20:33:37 UTC
Permalink
Hallo Hans-Jürgen,

sorry, ich hatte mir nicht die Mühe gemacht, den ganzen Thread zu lesen
und kannte somit auch keinen O-Code. Ich war einfach nur neugierig :-)
--
Viele Grüße
Michael Bauer
Sven Arndt
2004-12-17 08:28:27 UTC
Permalink
Hallo,

ich habe mal eine Verständnisfrage.
Mein Code funktioniert bei Outlook2003 aber bei Outlook2000 nicht.
Wieso das? Die Funktionen sind in der VBA Hilfe für beider Versionen
identisch.

Gruß,
Sven
Michael Bauer
2004-12-18 09:13:07 UTC
Permalink
Hallo Sven,
Post by Sven Arndt
Mein Code funktioniert bei Outlook2003 aber bei Outlook2000 nicht.
was funktioniert nicht (Code/Fehlermeldung)?
--
Viele Grüße
Michael Bauer
Loading...