"special" recuring appointment...

D

Duncan McC

Hi,

I found some code in this group that I'd like to use and modify to
create a recurring appointment, for:
* the 2nd Tuesday of every month, plus one day.

(This is to remind me to check server's n' stuff for MS monthly
updates).

In New Zealand though (17hrs ahead of the US approx), creating an
appointment for the 2nd *Wednesday* of every month, simply doesn't work
on a surprisingly often basis (eg. have a look at this month (April)).

So I want to create a recurring appointment for the 2nd Tuesday of every
month, plus one day (ie the next day after that).

Can the code below be mod'd to make this a go'er?

Private Sub cmdAddAppt_Click()
On Error GoTo Add_Err

'Save record first to be sure required fields are filled.
DoCmd.RunCommand acCmdSaveRecord

'Exit the procedure if appointment has been added to
Outlook.
If Me!AddedToOutlook = True Then
MsgBox "This appointment is already added to Microsoft
Outlook"
Exit Sub
'Add a new appointment.
Else
Dim objOutlook As Outlook.Application
Dim objAppt As Outlook.AppointmentItem
Dim objRecurPattern As Outlook.RecurrencePattern

Set objOutlook = CreateObject("Outlook.Application")

Set objAppt = objOutlook.CreateItem(olAppointmentItem)

With objAppt
.Start = Me!ApptStartDate & " " & Me!ApptTime
.Duration = Me!ApptLength
.Subject = Me!Appt

If Not IsNull(Me!ApptNotes) Then .Body = Me!
ApptNotes
If Not IsNull(Me!ApptLocation) Then .Location =
Me!ApptLocation
If Me!ApptReminder Then
.ReminderMinutesBeforeStart = Me!ReminderMinutes
.ReminderSet = True
End If

Set objRecurPattern = .GetRecurrencePattern

With objRecurPattern
.RecurrenceType = olRecursWeekly
.Interval = 1
'Once per week
' .PatternStartDate = #12/19/2003#
.PatternStartDate = Me!ApptStartDate
'You could get these values
'from new text boxes on the form.
' .PatternEndDate = #7/23/2003#
.PatternEndDate = Me!ApptEndDate
End With

.Save
.Close (olSave)
End With
'Release the AppointmentItem object variable.
Set objAppt = Nothing
End If

'Release the Outlook object variable.
Set objOutlook = Nothing

'Set the AddedToOutlook flag, save the record, display a
message.
Me!AddedToOutlook = True
DoCmd.RunCommand acCmdSaveRecord
MsgBox "Appointment Added!"

Exit Sub

Add_Err:
MsgBox "Error " & Err.Number & vbCrLf & Err.Description
Exit Sub

End Sub
 
M

Michael Bauer [MVP - Outlook]

I'd use the UI to create one appointment, then access it by code, and see
the values of the properties.

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool
: VBOffice Reporter for Data Analysis & Reporting
: <http://www.vboffice.net/product.html?pub=6&lang=en>


Am Wed, 8 Apr 2009 15:23:38 +1200 schrieb Duncan McC:
 
D

Duncan McC

Cheers Michael,

What is the line of code I need to access an appointment, say titled
"test001"?

TIA
 
M

Michael Bauer [MVP - Outlook]

If it's the current open item, you can access it this way:
Dim Appt as Outlook.AppointmentItem
Set Appt=Application.ActiveInspector.CurrentItem

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool
: VBOffice Reporter for Data Analysis & Reporting
: <http://www.vboffice.net/product.html?pub=6&lang=en>


Am Thu, 9 Apr 2009 11:29:44 +1200 schrieb Duncan McC:
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top