In general the performace is better if you forego the progress dialog. Instead, simply display a MsgBox when done. Also, joining the rulelist string could take one or more seconds for 1000 loops. Since you run all rules, why not just say that instead of listing all the rule names?
There´s no event in Outlook that tells you when a meeting has ended. For a full automatic process you´d need to look at intervals into the calendar, find all meeting items, decide, which one has ended, and which of the ended ones hasn´t yet sent the email. That´s a lot of work for a beginner...
No, it does return either on object or nothing. If you see a string, it´s the object´s default property and means actually your method of testing is wrong; but it also means the object cannot be nothing.
I´m sorry, I cannot figure out which part you don´t understand.
You mentioned this line returning no resultSet oStorage = oFolder.GetStorage("IPC.MS.Outlook.AgingProperties", olIdentifyByMessageClass)]
Which should mean that the folder doen´t have archive settings stored. That´s what you want...
"No setting" is a valid setting, it just doesn´t need to be stored. So, no stored value means "no setting". In other words, if you want to turn off the auto archive function, delete the hidden message that stores any other archive settings.
Without knowing the code you´re referring to we can only guess what´s going on. If it contains an On Error Resume Next you don´t get an error message even if one occurs. If the hidden message GetStorage is looking for doesn´t exist I´say there´s no auto archive setting for that folder.