I was able to figure this out using the below Code:
Public Function GetPublicFolder(strFolderPath)
Dim colFolders
Dim objFolder
Dim arrFolders
Dim i
On Error Resume Next
strFolderPath = Replace(strFolderPath, "/", "\")
arrFolders = Split(strFolderPath, "\")
Set objFolder = Application.Session.GetDefaultFolder(18)
Set objFolder = objFolder.Folders.item(arrFolders(0))
If Not objFolder Is Nothing Then
For i = 1 To UBound(arrFolders)
Set colFolders = objFolder.Folders
Set objFolder = Nothing
Set objFolder = colFolders.item(arrFolders(i))
If objFolder Is Nothing Then
Exit For
End If
Next
End If
Set GetPublicFolder = objFolder
Set colFolders = Nothing
Set objApp = Nothing
Set objFolder = Nothing
End Function
Sub BlockCalendar()
Set Start = ReservationAutomation.StartDate
Set EndOn = ReservationAutomation.EndDate
Dim golApp As Outlook.Application
Dim fldFolder As MAPIFolder
Dim strPublicFolder As String
Dim obj As AppointmentItem
Const olAppointmentItem = 1
Const olRecursDaily = 0
'7:00 AM
Set golApp = New Outlook.Application
strPublicFolder = "Path to Public folder without leading \\"
Set fldFolder = GetPublicFolder(strPublicFolder)
Set obj = fldFolder.Items.Add(olAppointmentItem)
obj.MeetingStatus = olMeeting
With obj
.Start = StartDate & " 7:00:00 AM"
.Duration = 30
.Recipients.Add ("3035 -Lync")
.Subject = "Blocked - Contact Admin"
.Location = "3035 -Lync"
Set objRecurrence = obj.GetRecurrencePattern
objRecurrence.RecurrenceType = olRecursDaily
objRecurrence.PatternStartDate = StartDate
objRecurrence.PatternEndDate = EndDate
.Send
End With
End Sub
I then expanded the code to create multiple 30 minute blocks within the Block Calendar macro.