Here is some code straight from an application that works. Users have to have rights to the calendar that they write to. Hope this helps. Be sure to include the outlook object module in your project references.
Dim olApp As Outlook.Application
Dim olappt As Outlook.AppointmentItem
Dim olNameSpace As Outlook.NameSpace
Dim olRecipient As Outlook.Recipient
Dim SendTo As String
Dim mystart As String
Dim myend As String
Dim mySQL As String
Dim NewID As Long
SendTo = "Burnham, Paul"
mystart = txtSetup(1).Text & Space(1) & cboSetup(0).Text & Space(1) & lstSetup(0).Text
myend = DateAdd("n", 15, mystart)
Set olApp = New Outlook.Application
Set olNameSpace = olApp.GetNamespace("MAPI"
Set olRecipient = olNameSpace.CreateRecipient("Burnham, Paul"

Set olappt = olNameSpace.GetSharedDefaultFolder(olRecipient, olFolderCalendar).Items.Add
With olappt
'Create the setup appointment
.Location = txtSetup(0).Text
.Subject = "Hardware setup"
.Body = txtSetup(3).Text
.Start = CDate(mystart)
.End = CDate(myend)
.ReminderMinutesBeforeStart = 15
.Save
End With
'Release the Outlook object variable
Set olappt = Nothing
Set olNameSpace = Nothing
Set olApp = Nothing
Set olRecipient = Nothing
End Sub