Solved

Finding the path to a calendar in outlook

Posted on 2008-10-16
13
637 Views
Last Modified: 2012-05-05
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

0
Comment
Question by:EmmaDSP
  • 6
  • 5
  • 2
13 Comments
 
LVL 28

Expert Comment

by:omgang
ID: 22736209
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
 

Author Comment

by:EmmaDSP
ID: 22737012
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
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22738008
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
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22738014
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
 

Author Comment

by:EmmaDSP
ID: 22739216
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
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22739284
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:EmmaDSP
ID: 22739415
Hi, Chris.  Yes, that dim statement does exist in my code.  Thanks! - Emma
0
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22739533
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
 

Author Comment

by:EmmaDSP
ID: 22739597
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
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22739961
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
 
LVL 28

Accepted Solution

by:
omgang earned 500 total points
ID: 22741095
<<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
 

Author Closing Comment

by:EmmaDSP
ID: 31507295
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
 

Author Comment

by:EmmaDSP
ID: 22744959
Thank you, OM Gang.  That worked!  The appointment is finally appearing in my alternate (non-default) calendar.  Many thanks. - Emma
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Learn more about how the humble email signature can be used as more than just an electronic business card. When used correctly, a signature can easily be tailored for different purposes by different departments within an organization.
Granting full access permission allows users to access mailboxes present in their database. By giving full access permission one can open and read the content of any mailbox but cannot send emails from that mailbox.
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now