15 pts.
 Create an add to calendar button
Step by step...how do I make a button that will add a meeting/event to another person's calendar that I can send in an email?

Software/Hardware used:
Lotus Notes 8.0.2
ASKED: March 10, 2011  8:50 PM
UPDATED: April 19, 2013  7:38 PM

Answer Wiki:
You already have that button in your calendar!
Last Wiki Answer Submitted:  April 19, 2013  7:38 pm  by  Michael Tidmarsh   11,405 pts.
All Answer Wiki Contributors:  Michael Tidmarsh   11,405 pts. , BruceWayne   4,075 pts.
To see all answers submitted to the Answer Wiki: View Answer History.


Discuss This Question:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


 

I guess I wasn’t specific enough.

I would like to know the step by step process of adding a button to an EMAIL that would add a meeting/appointment to a recipients calendar by them clicking this button.

 15 pts.

 

There is a feature in the Notes Client already for this, under More…, then Copy into new…, and choose Calendar Entry. If this is not sufficient, I would recommend using the code in the Shared Action called “Copy Into NewNew _Calendar Entry”.

Why reinvent – its there already.

 1,830 pts.

 

I believe he is asking if you send an email message to a group of people, how can you add a “hot button” in the email that will allow the receipents to click on and it will automatically add and event to their calendar. As oppose to just sending a calendar invite.

 10 pts.

 

Kramirez –

Here’s some sample button code to create a meeting on someone’s calendar for:
- Date and time: 23rd April 2011
- 9am – 9.30am EDT

================

Sub Click(Source As Button)
‘====================
‘ CHANGE THINGS IN THIS SECTION
‘====================
‘ this determines which type of calendar entry to make, choose from Appointment,
‘ Event, and Reminder
calEntryType = “Appointment”

‘ this set of variables is for the calendar entry that will be created
‘ First is the Subject that will appear in the calendar. Use Chr$(10) to add
‘a line break
calEntrySubject = “WebSphere Portal 6.5 What’s New”

‘Optional – if you would like you can include data for the location field and the
‘ details would be the body when you open the entry If you want to add thing
‘ just put it between the quotes. If you have more details to add (like multiple
‘ lines) you can just put it between two vertical bars like this: |
‘ put anything here including several lines | (You get a vertical bar by shift on
‘ the slash on the US keyboard).

calEntryLocation = |See call in details below

|
calEntryDetails = |
Meeting Topic – Performance Optimization for Websphere Portal

Agenda:
Business Value
Customer experiences
Solution

Web Conference Details:
===================
1. Go to the URL – http://www.testportal.com
2. Click ‘Join a Meeting’ button in the top right corner of the page
3. Enter the Conference ID 009900
4. Enter your name and email address
5. Click the ‘Log In’ button

Dial In details:
===========
Phone Number: 1-888-999-1234
Participant Passcode: 987654
|

‘Now Set the start and end times. To be sure of the proper date you can use the
‘ Datenumber as (year, month, day). (so it will accomodate different date
‘ formats)
‘In the time be sure to include AM or PM and the time zone.

calEntryStartTimeStr = Datenumber(2011,04,23)+” “+”13:00:00 GMT”
calEntryEndTimeStr = Datenumber(2011,04,23)+” “+”13:30:00 GMT”

‘ these are the checkboxes from the options section of a calendar entry
markPrivate = False ‘ Mark Private – do not show other users the cal entry

‘ this set of variables determines whether or not to display the calendar entry
‘ to the user after it’s added to their calendar
displayCalendarEntry = True ‘ Valid values are True and False
‘This turns the feature of displaying the saved calendar entry to the user.

‘ this set of variables is for the displaying a message to the user if they press the
‘button
displayMessage = True ‘ turns the message box feature on and off – T/F
messageToDisplay = “The meeting has been added. Click Save and Close to complete”

‘ this set of variables deal with sending a note to an id you specify when the user
‘ presses the button (lets you know they added it)
‘sendReply = True ‘ turns the reply feature on and off – True and False
‘replyRecipient = “tom.terrific@superman.com” ‘ who should get the reply –
‘ separate multiple recipients with a comma (,)
‘replySubject = “I plan to attend the 23rd April 2009 Performance Session for Websphere Portal” ‘ subject of the reply message
‘replyMessage = ” ”

Call createCalEntry()

End Sub

 140 pts.

 

TSKnoxville: So how do add your suggested code to a button. Have tried and failed.

 10 pts.

 

Could anyone advise how to copy the body of the email (with the button) into the calendar appointment that is being created?

 10 pts.

 
Sub Click(Source As Button)
Dim mailDbName As Variant 
On Error Resume Next
Dim ses As New notessession
Dim memodb As notesdatabase
Dim date1 As New NotesDateTime( “01 may 2013 09:40 AM”) 
Dim date2 As New NotesDateTime( “01 may 2013 12:00 PM”)
Dim dd As NotesDateTime
Dim ar(1) As Variant
Set ar(0)=date1
Set ar(1)=date2
Dim nname As New NotesName (ses.UserName )
Set memodb=ses.CurrentDatabase
If Not memoDb Is Nothing Then
Dim memodoc As NotesDocument 
Dim rtBody As NotesRichTextItem
Set memoDoc = New NotesDocument(memoDb)
memoDoc.Form = “Appointment”
memodoc.subject = {The Best Training}
memodoc.MeetingType = {1}
memodoc.AppointmentType = {0}
memodoc.Location = { Walleyball street, 2 bld. 3, floor 4}
Call memodoc.replaceitemvalue(“_ViewIcon”,158)
Set dd = New NotesDateTime(date1.DateOnly)
memodoc.StartDate = dd
Set dd = New NotesDateTime(date1.TimeOnly)
memodoc.StartTime = dd
Call memodoc.ReplaceItemValue (“StartDateTime”, date1)
Call memodoc.ReplaceItemValue (“CalendarDateTime”, date1)
Set dd = New NotesDateTime(date2.DateOnly)
memodoc.EndDate =dd
Set dd = New NotesDateTime(date2.TimeOnly)
memodoc.EndTime = dd
Call memodoc.ReplaceItemValue (“EndDateTime”,date2)
Set rtBody = New NotesRichTextItem(memodoc, “Body”)
Call rtBody.AddNewline(2)
Dim richStyle As NotesRichTextStyle
Set richStyle = ses.CreateRichTextStyle
richStyle.NotesColor = COLOR_Blue
Call rtBody.AppendStyle(richStyle)
Call rtBody.AppendText( {The Best Training})
Call rtBody.AddNewline(2)
Call rtBody.AppendText( {})
Call rtBody.AddNewline(2)
Call rtBody.AppendText( {.})
Call rtBody.AddNewline(2)
Call memoDoc.Save (True,False,True)
Print “Created calendar record”
End If
Set rtBody = New NotesRichTextItem(msg, “Body”)
Set richStyle = ses.CreateRichTextStyle
richStyle.NotesColor = COLOR_Black
Call rtBody.AppendStyle(richStyle)
Call rtBody.AppendText({User: }+nname.Abbreviated + { The Best Training}) 
Call rtBody.AddNewline(2)
Call msg.send(False)
Print “Sent e-mail”
Messagebox(“New appointment was added to your calendar”)
End Sub
 10 pts.

 

Did you ever succeed Kramirez? I want to do the same, but below is a little bit beyond me

 10 pts.