Object variable not set error in HTML email button

Posted on 2009-05-12
Last Modified: 2013-11-16
HTML memo button works on Notes 8 client and does not work for some Notes 7 clients with error message: "Object variable not set".  
What would cause this error ?
Sub Click(Source As Button)


	'1st email note serves as confirmation, rsvp

	Dim session As New NotesSession

	Dim db As NotesDatabase

	Dim doc As NotesDocument

	Set db = session.CurrentDatabase

	Set doc = New NotesDocument( db )

	doc.Form = "Memo"

	doc.SendTo = ""    'CHANGE SEND TO HERE

	doc.Subject = "This is my subject line"  'CHANGE SUBJECT LINE HERE

	doc.body = "Notification - I clicked this button and will attend' "   'CHANGE BODY TEXT HERE

	Call doc.Send( False )

	'End of 1st email noe



	'2nd Email note - Allow user to Compose HTML Memo 


	Dim memo As NotesuiDocument

	Dim html As Variant


	' Add the Email Body Text between the  beginning and Ending Vertical Bar:  |

	' <br> (break - new line)

	' <b> bold text </b>

	' <font size=4> text - make any size you like  </font>

	' url has to be enclosed in single quote:  <img src=''/>

	' another example:   <a href =''>Click here to get the white paper.</a>


	html = |    

<img src=''/>

 <br><font size=6><b>This is my first line for body text.

	</font></b><br><br>More body text

And more body text.	

	Here is example of font size:

	<br><br><font size=4><b>Font 4 text.</font></b>is a little larger.

	<br><br><font size=4><b><a href =''''>Click here to get the white paper and more information.</a>

	<br><br><font size = 1>copyright

	<br><br><br>  |




	Set memo = ComposeMimeMemoEx(Body ,html )  

	Call memo.FieldSetText("Subject", "xyz white paper:  and more information" ) ' Add Subject text in quotes

'	Call memo.FieldSetText("EnterSendTo", "")	  'If needed, add intranet id BETWEEN quotes for the SendTo field 	and remove the ' Comment single quote



End Sub

Function ComposeMimeMemoEx(Byval subject As String, Byval html As String) As NotesUIDocument


	Dim ws As New NotesUIWorkspace

	Dim sess As New NotesSession

	Dim db As New NotesDatabase("", "")

	Dim uiTemp As NotesUIDocument, memo As NotesUiDocument

	Dim docTemp As NotesDocument

	Dim body As NotesMimeEntity

	Dim stream As NotesStream

	On Error Goto CATCH



        ' create MIME using a temp document

	Call db.OpenMail

	sess.ConvertMime = False

	Set docTemp = db.CreateDocument

	Set body = docTemp.CreateMIMEEntity("Body")

	Set stream = sess.CreateStream

	Call stream.WriteText(html)

	Call body.SetContentFromText(stream, {text/html; charset="iso-8859-1"}, ENC_QUOTED_PRINTABLE)

	Call docTemp.CloseMIMEEntities(True, "Body")

	sess.ConvertMime = True

	Call docTemp.Save(True, False)


        ' copy generated HTML to the clipboard

	Set uiTemp = ws.EditDocument(True, docTemp)

	Call uiTemp.GotoField("Body")

	Call uiTemp.SelectAll

	Call uiTemp.Copy

	uiTemp.Document.SaveOptions = "0"

	uiTemp.Document.MailOptions = "0"

	Call uiTemp.Close

	Call docTemp.Remove(True)

	Set docTemp = Nothing


        ' compose the new memo

	Set memo = ws.ComposeDocument(db.Server, db.Filepath, "Memo")

	Call memo.FieldSetText("Subject", subject)

	Call memo.GotoField("Body")

	Call memo.Paste


	Set ComposeMimeMemoEx = memo


	Exit Function



	If (Not docTemp Is Nothing) Then If (Not docTemp.IsNewNote) Then Call docTemp.Remove(True)

	Exit Function


End Function

Open in new window

Question by:KTTKTT
  • 2
  • 2
LVL 63

Expert Comment

Comment Utility
IS it version specific  in 7 ?

Have you run it in debug mode ?

How about adding debug output to a log ?

I hope this helps !

Author Comment

Comment Utility
V7.2   My machine hangs when attempting to run debug, but it generally stalls at :
Set memo = ComposeMimeMemoEx(Body ,html )  

How do I debut output to a log?
LVL 63

Expert Comment

Comment Utility
I would check to make sure that the body and HTML exist .

also shouldn't it be

Set memo = ComposeMimeMemoEx(doc.Body ,html )  or doc.subject in the first param.

I hope this helps !

Accepted Solution

KTTKTT earned 0 total points
Comment Utility
I've had other programmers review code - they ran it w/out problems.  Still don't know why it works for version 8 Notes and not version 7.  Hoping everyone will upgrade soon. Closing request.  Thanks for your assistance.

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

For beginners of Lotus Notes user this is important to know about the types of files and their location supported by IBM Notes. Mostly users are unaware about how many file types are created and what their usages are. This Article is fully dedicated…
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

771 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now