Solved

Adding Appointment from Access to Outlook on Another Persons Calendar

Posted on 2008-06-24
1
409 Views
Last Modified: 2013-11-27
I am trying to get Access to put an appointment onto another person's calendar in outlook.  I have a form that you choose who you want to add the appointment to, however, when the code searches for the Mailbox for the person selected it can not find it.

Pleae note that I am relatively new to VBA for Access

The code I am using is below...most of which I have goten off this website and a few others.

Please help,

BVass
****CODE START****
 
Option Explicit
 
Dim outObj As New Outlook.Application
Dim outNS As Outlook.NameSpace
Dim outFolders As Outlook.MAPIFolder
Dim outSubFolders As Outlook.MAPIFolder
Dim outAppt As Outlook.AppointmentItem
Dim strMail, strFirst, strLast As String
Dim intCount As Integer
Dim frm As Form
 
Function addAppt()
 
' Save record first to be sure required fields are filled.
    DoCmd.RunCommand acCmdSaveRecord
' Exit the procedure if appointment has been added to Outlook.
    Set frm = Screen.ActiveForm
    
    If frm.AddedToOutlook = True Then
        MsgBox "This appointment already added to Microsoft Outlook"
        Exit Function
    Else
'Set the name of the Mailbox
        frm.Auditor.SetFocus
        strMail = frm.Auditor.Text
        intCount = InStrRev(strMail, " ")
        strFirst = Trim$(Left$(strMail, intCount))
        strLast = Trim$(Right$(strMail, intCount))
        strMail = "Mailbox - " & strLast & ", " & strFirst
        
' Add a new appointment.
        Set outNS = outObj.GetNamespace("MAPI")
        Set outFolders = outNS.Folders(strMail)
        Set outSubFolders = outFolders.Folders("Calendar")
        Set outAppt = outObj.CreateItem(olAppointmentItem)
        With outAppt
           .Start = frm.ApptDate & " " & frm.ApptTime
           .Duration = frm.ApptLength
           .Subject = frm.Appt
           If Not IsNull(frm.ApptNotes) Then .Body = frm.ApptNotes
           If Not IsNull(frm.ApptLocation) Then .Location = _
              frm.ApptLocation
           If frm.ApptReminder Then
              .ReminderMinutesBeforeStart = frm.ReminderMinutes
              .ReminderSet = True
           End If
           .Save
        End With
    End If
    ' Release the Outlook object variable.
    Set outObj = Nothing
    ' Set the AddedToOutlook flag, display a message.
    frm.AddedToOutlook = True
    DoCmd.RunCommand acCmdSaveRecord
    MsgBox "Appointment Added!"
    Exit Function
AddAppt_Err:
    MsgBox "Error " & Err.Number & vbCrLf & Err.Description
    Exit Function
 
End Function
 
****CODE END****

Open in new window

0
Comment
Question by:BVass
1 Comment
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 500 total points
ID: 21862893
BVass

This Question is almost Identical.
Try the solution:
http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_21809067.html

JeffCoachman
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

829 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