Hi @MW-0224
Welcome to our forum!
Please kindly understand that the Outlook tag here we mainly focus on general issues about Outlook desktop client. A suggestion at the individual level is to create a forwarding rule for relevant emails, such as marking messages or body text that contain the specific word "meeting" as private and forwarding it to the people you want to forward. More information: Manage email messages by using rules in Outlook - Microsoft Support
However, if you prefer to start with VBA, here are some relevant codes for your reference, but you may need to consult a more professional IT for details.
- Access the selected appointment: Get the currently selected appointment item.
- Create a new
MeetingItem
: Use theCreateItem
method to create a newMeetingItem
. - Copy details from the
AppointmentItem
to theMeetingItem
: Transfer the subject, body, and other relevant details. - Set the sensitivity to private: Adjust the sensitivity of the
MeetingItem
. - Send the
MeetingItem
: Forward theMeetingItem
to the specified email address.
Here's a sample VBA macro to get you started:
Sub ForwardAppointmentAsMeeting()
Dim objApp As Outlook.Application
Dim objSelection As Outlook.Selection
Dim objAppointment As Outlook.AppointmentItem
Dim objMeeting As Outlook.MeetingItem
Dim objRecipient As Outlook.Recipient
' Initialize Outlook application
Set objApp = Application
' Get the selected items in the calendar
Set objSelection = objApp.ActiveExplorer.Selection
' Check if the selected item is an appointment
If objSelection.Count > 0 Then
If TypeOf objSelection.Item(1) Is Outlook.AppointmentItem Then
Set objAppointment = objSelection.Item(1)
' Create a new meeting item
Set objMeeting = objApp.CreateItem(olMeetingRequest)
' Copy details from the appointment to the meeting item
With objMeeting
.Subject = objAppointment.Subject
.Body = objAppointment.Body
.Start = objAppointment.Start
.End = objAppointment.End
.Location = objAppointment.Location
.Sensitivity = olPrivate ' Set sensitivity to private
' Add recipient
Set objRecipient = .Recipients.Add("recipient@example.com")
objRecipient.Type = olTo
' Send the meeting request
.Send
End With
Else
MsgBox "Please select an appointment item.", vbExclamation
End If
Else
MsgBox "No items selected.", vbExclamation
End If
End Sub
Replace "recipient@example.com"
with the email address you want to forward the appointment to. This macro will create a new meeting request with the same details as the selected appointment and send it to the specified recipient with the sensitivity set to private.
Hope it helps!
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our [documentation] to enable e-mail notifications if you want to receive the related email notification for this thread.