Finding the path to a calendar in outlook

I am not able to figure out what the path to my alternate calendar is.  The name of my calendar is "DSP Class Schedule"  When I'm in it, the address box in Outlook 2003 says:  outlook:Calendar\DSP Class Schedule , but if I use "Calendar\DSP Class Schedule" as the path when trying to post an appointment to it from Access, I get the error message: "The operation failed.  An object could not be found."   My personal folders folder is actually called "Personal Folder as of 7-25-08" and it appears that calendar/dsp class schedule is a subfolder in my personal folders folder.  So for the path I used:  "Personal Folder as of 7-25-08\Calendar\DSP Class Schedule" and got the same error.  I really need to figure out the path to my alternate calendar so I can have my Access database schedule an appointment in it.  Many thanks - Emma
'Create an appointment in the Outlook Calendar - THIS CODE PUTS IT IN THE DEFAULT CALENDAR
Dim objOutlook As Outlook.Application
Dim objAppt As Outlook.AppointmentItem
 
Set objOutlook = CreateObject("Outlook.Application")
 
'''Set objAppt = objOutlook.CreateItem(olAppointmentItem)
Set objFolder = OpenMAPIFolder("Personal Folders as of 7-25-08\Calendar\DSP Class Schedule")
Set objAppt = objFolder.Items.Add
 
With objAppt
    .Start = Me!Datehearing & " " & Me!Timehearing
    .Duration = 30
    .Subject = Me!ClientContactID.Column(4) & " foreclosure hearing."
    .ReminderSet = False
    .Save
    .Close (olSave)
End With
 
Set objAppt = Nothing   'Release the AppointmentItem object variable
 
Set objOutlook = Nothing    'Release the Outlook object variable

Open in new window

EmmaDSPAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

omgangIT ManagerCommented:
OM Gang
'Create an appointment in the Outlook Calendar - THIS CODE PUTS IT IN THE DEFAULT CALENDAR
Dim objOutlook As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim olFolders As Outlook.MAPIFolder
Dim objFolder As Outlook.MAPIFolder
Dim objSubFolder As Outlook.MAPIFolder
Dim objAppt As Outlook.AppointmentItem
Dim strPST As String
 
strPST = "Personal Folders as of 7-25-08"
 
Set objOutlook = CreateObject("Outlook.Application")
Set olNS = olOutlook.GetNamespace("MAPI")
        'set object NameSpace Folders for PST file
Set olFolders = olNS.Folders(strPST)
 
'''Set objAppt = objOutlook.CreateItem(olAppointmentItem)
Set objFolder = olFolders.Folders("Calendar")
Set objSubFolder = objFolder.Folders("DSP Class Schedule")
Set objAppt = objSubFolder.Items.Add
 
With objAppt
    .Start = Me!Datehearing & " " & Me!Timehearing
    .Duration = 30
    .Subject = Me!ClientContactID.Column(4) & " foreclosure hearing."
    .ReminderSet = False
    .Save
    .Close (olSave)
End With
 
Set objAppt = Nothing   'Release the AppointmentItem object variable
Set objSubFolder = Nothing
Set objFolder = Nothing
Set olFolders = Nothing
Set olNS = Nothing
Set objOutlook = Nothing    'Release the Outlook object variable

Open in new window

0
EmmaDSPAuthor Commented:
When it hits this statement:  Set olNS = olOutlook.GetNamespace("MAPI")    (line 13 above) it gives me the error:  Object Required.    I have not idea if the folder name is part of the problem:  do you know how I can just rename it back to Personal Folders or Personal Folder (whatever the default is) rather than that odd folder name I gave it some time ago?  Many thanks - Emma
0
Chris BottomleySoftware Quality Lead EngineerCommented:
Try replacing:

Set objFolder = OpenMAPIFolder("Personal Folders as of 7-25-08\Calendar\DSP Class Schedule")
with
Set objFolder = objOutlook..GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Folders("Personal Folders as of 7-25-08\Calendar\DSP Class Schedule")

Chris
'Create an appointment in the Outlook Calendar - THIS CODE PUTS IT IN THE DEFAULT CALENDAR
Dim objOutlook As Outlook.Application
Dim objAppt As Outlook.AppointmentItem
 
Set objOutlook = CreateObject("Outlook.Application")
 
'''Set objAppt = objOutlook.CreateItem(olAppointmentItem)
Set objFolder = objOutlook..GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Folders("Personal Folders as of 7-25-08\Calendar\DSP Class Schedule")
Set objAppt = objFolder.Items.Add
 
With objAppt
    .Start = Me!Datehearing & " " & Me!Timehearing
    .Duration = 30
    .Subject = Me!ClientContactID.Column(4) & " foreclosure hearing."
    .ReminderSet = False
    .Save
    .Close (olSave)
End With
 
Set objAppt = Nothing   'Release the AppointmentItem object variable
 
Set objOutlook = Nothing    'Release the Outlook object variable

Open in new window

0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Chris BottomleySoftware Quality Lead EngineerCommented:
Apologies .. I see a double dot in the statement now ... obviously only use one dot at each position i.e.

Set objFolder = objOutlook.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Folders("Personal Folders as of 7-25-08\Calendar\DSP Class Schedule")

Chris
0
EmmaDSPAuthor Commented:
Hi, Chris. Using your code above I'm back to the error message "The operation failed. An object could not be found."  BUT, both of you have given me some possibilities of how to specify the desired folder and perhaps I can make my original code work now.  Unfortunately, I won't be able to work on this until later today.  I'm open to any other suggestions, and I'll post here again when I've had time to work with the code some more (later today, hopefully).  Many, many thanks. - Emma
0
Chris BottomleySoftware Quality Lead EngineerCommented:
In your original code you used objFolder, I re-used it but there is no definition of objFolder  in the snippet ... are you sure it is defined something like:

dim objFolder as outlook.mapifolder?

Chris
0
EmmaDSPAuthor Commented:
Hi, Chris.  Yes, that dim statement does exist in my code.  Thanks! - Emma
0
Chris BottomleySoftware Quality Lead EngineerCommented:
Sorry to be pedantic but it seems to be the only thing that can justify object not found so my apologies for questioning you but are you certain that the declaration is in scope for the code snippet as supplied?

Beyond this the only other thing I can think of is "Personal Folders as of 7-25-08\Calendar\DSP Class Schedule" are you certain this ius the exact spelling and presentation of the folder in the outlook folders display?

Chris
0
EmmaDSPAuthor Commented:
Hi, Chris. I totally understand your question: I'd like to be able to "copy" and then "paste" the folder name, so I'm sure it's exactly the folder name, but I can't find a place where "copy" works.  I have to go to meetings now.  I'll work on this again later today (hopefully) and see if I can meet with some success.  I'll post back here with status and/or info at that time.  Thanks much! - Emma
0
Chris BottomleySoftware Quality Lead EngineerCommented:
If you can provide a snapshot of the folderpath then that would be good otherwise in outlook, select the calendar and in the immediate window of the VBE type:

print application.ActiveExplorer.CurrentFolder.FolderPath

Hopefully that will confirm the main path leaving the active calendar name to append.

Supply th elot and see what to make of it.

Chris
0
omgangIT ManagerCommented:
<<When it hits this statement:  Set olNS = olOutlook.GetNamespace("MAPI")    (line 13 above) it gives me the error:  Object Required.    I have not idea if the folder name is part of the problem:  do you know how I can just rename it back to Personal Folders or Personal Folder (whatever the default is) rather than that odd folder name I gave it some time ago?  Many thanks - Emma >>

Sorry about that Emma, I reused some existing code I have and missed that variable name change.  Try

Set olNS = objOutlook.GetNamespace("MAPI")

OM Gang

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
EmmaDSPAuthor Commented:
Thank you so much, OM Gang.  It worked!  I can't tell you how happy I am to finally have this matter resolved.  Thanks for your help! - Emma
0
EmmaDSPAuthor Commented:
Thank you, OM Gang.  That worked!  The appointment is finally appearing in my alternate (non-default) calendar.  Many thanks. - Emma
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Outlook

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.