- This topic has 2 Antworten, 1 Stimme, and was last updated 10:11 um 11. November 2004 by gugenot.
- AutorBeitrag
- 9. November 2004 um 15:17 #25482gugenotParticipant
halli hallo ich bins wieder
und wieder habe ich eine frage
wie kann ich mit hilfe von vba überprüfen ob ein ordner mit namen XY im ordner posteingang existiert
im outlook hilfe steht fast nichts drine
hilfe ;(10. November 2004 um 11:48 #85889gugenotParticipantgenau das selber frage ein bischen anders
ich habe mit vba für otlook 2002 eine sache gemacht um die ankommende mail automatisch nach absender überprüfen , dann ein ordner im posteingang mit absender name erstellen und mail da rein speichern…
beim ersten mall läuft es prima
nur wenn ordner schon da ist kriege ich fehler meldung
meine frage wie kann ich überprüfen ob ordner schon da ist
wenn es da ist muss da mail rein wenn nicht ein neue ordner mit absendername erstellen und mail da rein..
hier ist quellcode:
Sub Ordner()
Dim i As Integer
Dim j As Integer
Dim oMail As ObjectSet myOlApp = CreateObject(\“Outlook.Application\“)
Set MyNameSpace = myOlApp.GetNamespace(\“MAPI\“)
Set myinbox = MyNameSpace.GetDefaultFolder(olFolderInbox)
Set MyItems = myinbox.Items
If olFolderInbox > 0 Then
i = 1
j = myinbox.Items.Count
Do While j > 0
Set oMail = myinbox.Items(j)
If Not myNameFolder.Exist Then
Set myNameFolder = myinbox.Folders.Add(oMail.SenderName)Set myitem = MyItems.Find(\“[SenderName] =\’\“ & myNameFolder & \“\’\“)
While TypeName(myitem) <> \“Nothing\“
myitem.Move myNameFolder
Set myitem = MyItems.FindNext
j = j – 1
Wend
LoopElse
MsgBox \“Posteingang ist leer\“
End If
End Subbitte bitte helft mir jemand
für jeder tipp und hilfestellung bedanke ich mich im voraus
mfg11. November 2004 um 10:11 #85959gugenotParticipantjetzt andere frage..
die mit erste frage in verbindung steht…
hier erst die geänderte quelcode:Sub Ordner()
Dim i As Integer
Dim j As Integer
Dim oMail As MailItem
Dim schonda As Boolean
schonda = False
Dim myNameFolder As Variant
Dim name As VariantSet myOlApp = CreateObject(\“Outlook.Application\“)
Set MyNameSpace = myOlApp.GetNamespace(\“MAPI\“)
Set myinbox = MyNameSpace.GetDefaultFolder(olFolderInbox)
Set MyFolder = myinbox.Folders
Set MyItems = myinbox.ItemsIf olFolderInbox > 0 Then
i = 1
j = myinbox.Items.Count
Do While j > 0
Set oMail = myinbox.Items(j)
\’************************
For Each fld In myinbox.Folders
If fld.name = oMail.SenderName Then
schonda = True
\’Set myitem = MyItems.Find(\“[SenderName] =\’\“ & fld.name & \“\’\“)
myNameFolder = fld.name
Exit For
End If
Next
If Not schonda Then
\’***********************
Set myNameFolder = myinbox.Folders.Add(oMail.SenderName)
End If
Set myitem = MyItems.Find(\“[SenderName] =\’\“ & myNameFolder & \“\’\“)While TypeName(myitem) <> \“Nothing\“
myitem.Move myNameFolder
Set myitem = MyItems.FindNext
j = j – 1
WendLoop
Else
MsgBox \“Posteingang ist leer\“
End If
End Subdie code funktioniert beim erstem lauf ganz gut
nur wenn der ordner schon existiert (schonda ist) kriege ich ein fehlermeldung im satz: myitem.Move myNameFolder
und zwar: fehlermeldung 13: typen unferträglich
ich glaube ich weis wo das problem liegt
problem liegt in diesem satz:
myNameFolder = fld.name
myNameFolder hat typ Variant
fld.name auf meine manung nach String
und hier ist meine frage
wie kann ich die beide typen gleich machen
damit es zu keinerlei kollision mehr kommt?
hilft mir jemand? 🙁 - AutorBeitrag
Das Thema ‘folderexist’ ist für neue Antworten geschlossen.