Object variable not set error in HTML email button

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 = "xyx.xxx.com"    '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='http://www.google.com/images/pic00000.jpg'/>
	' another example:   <a href ='http://www.google.com/review.html'>Click here to get the white paper.</a>
	
	html = |    
<img src='http://www.google.com/images/pic00000.jpg'/>
 <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 =''http://www.google.com/review.html''>Click here to get the white paper and more information.</a>
	<br><br><font size = 1>copyright
	<br><br><br>  |
	
	
	'ADD THE SUBJECT HERE:
	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
	
CATCH:
	If (Not docTemp Is Nothing) Then If (Not docTemp.IsNewNote) Then Call docTemp.Remove(True)
	Exit Function
	
End Function

Open in new window

KTTKTTAsked:
Who is Participating?
 
KTTKTTConnect With a Mentor Author Commented:
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.
0
 
SysExpertCommented:
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 !
0
 
KTTKTTAuthor Commented:
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?
0
 
SysExpertCommented:
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 !
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.

All Courses

From novice to tech pro — start learning today.