Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 426
  • Last Modified:

Adding Appointment from Access to Outlook on Another Persons Calendar

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
BVass
Asked:
BVass
1 Solution
 
Jeffrey CoachmanMIS LiasonCommented:
BVass

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

JeffCoachman
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

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

Tackle projects and never again get stuck behind a technical roadblock.
Join Now