Ok, figured it out (sorta) myself. I can't create on another Calendar, but I can move it fairly easily.
Here are two methods (one for local calendars and the other is for a shared calendar).
FYI there is more junk in these scripts than is barebones necessary for someone else to use, but if someone needs the same thing they should be able to figure out the parts needed.
Shared Calendar:
Code: Select all
; Calendar := "Supervisor"
Category := "BLue Category"
Name := "Test Name"
Comment := "Test Comment"
Start_Time := "5:00p"
Start_Date := "8/8"
End_Time := "7:00p"
End_Date := "8/8"
olFolderCalendar := 9
olAppointmentItem := 1
profileName := "Outlook"
Outlook := ComObjCreate("Outlook.Application")
namespace := Outlook.GetNamespace("MAPI")
namespace.Logon(profileName)
olcalendar := namespace.GetDefaultFolder(olFolderCalendar)
; myCal := olcalendar.Folders(Calendar)
myCal := namespace.Folders("SharePoint Lists").Folders("Operations - Operations Schedule")
calItem := Outlook.CreateItem(olAppointmentItem)
calItem.Categories := Category
calItem.Subject := Name . " - " . Comment
If (Comment = "")
calItem.Subject := Name
IsTime := SubStr(Start_Time,1,1)
If IsTime is Not Digit
{
calItem.Start := Start_Date
calItem.AllDayEvent := True
calItem.Subject := Name . " - " . Start_Time
}
Else
{
calItem.Start := Start_Date . A_Space . Start_Time
calItem.End := End_Date . A_Space . End_Time
}
calItem.Save()
calItem.Move(myCal)
Return
Local Calendar:
Code: Select all
Calendar := "Supervisor"
Category := "BLue Category"
Name := "Test Name"
Comment := "Test Comment"
Start_Time := "5:00p"
Start_Date := "8/8"
End_Time := "7:00p"
End_Date := "8/8"
olFolderCalendar := 9
olAppointmentItem := 1
profileName := "Outlook"
Outlook := ComObjCreate("Outlook.Application")
namespace := Outlook.GetNamespace("MAPI")
namespace.Logon(profileName)
olcalendar := namespace.GetDefaultFolder(olFolderCalendar)
myCal := olcalendar.Folders(Calendar)
; myCal := namespace.Folders("SharePoint Lists").Folders("Operations - Operations Schedule")
calItem := Outlook.CreateItem(olAppointmentItem)
calItem.Categories := Category
calItem.Subject := Name . " - " . Comment
If (Comment = "")
calItem.Subject := Name
IsTime := SubStr(Start_Time,1,1)
If IsTime is Not Digit
{
calItem.Start := Start_Date
calItem.AllDayEvent := True
calItem.Subject := Name . " - " . Start_Time
}
Else
{
calItem.Start := Start_Date . A_Space . Start_Time
calItem.End := End_Date . A_Space . End_Time
}
calItem.Save()
calItem.Move(myCal)
Return