How to Attach a File to a Rich Text Object

This routine illustrates how to attach a file to a Rich Text field using LotusScript. Using this solution, users can click on an action button and select a file, and the selected file is appended to the predefined Rich Text field on the form.

How It Works

Files can be attached to a Rich Text object using the NotesEmbeddedObject class. First, you must instantiate a NotesEmbeddedObject and a NotesRichTextItem object. Then, using the EmbedObject method, a user can select a file to be attached to the specified NotesRichTextItem field.

Implementation

The following code illustrates how to prompt the user to select a file, attach the file to the Rich Text field called "Body", and email the file to yourself. To implement this solution, create an action button on either a form or view, change the Language Selector to LotusScript, and insert the following code in the Programmer's pane.

Sub Click(Source As Button) '-------------------------------------------------------- ' Define the objects '-------------------------------------------------------- Dim s As New NotesSession Dim w As New NotesUIWorkspace Dim db As NotesDatabase Dim doc As NotesDocument Dim rtitem As NotesRichTextItem Dim object As NotesEmbeddedObject Dim Person As NotesName Dim filename as Variant Set s = new NotesSession Set w = new NotesUIWorkspace Set db = s.CurrentDatabase Set doc = New NotesDocument (db) '-------------------------------------------------------- ' Prompt user to select a file. '-------------------------------------------------------- filename = w.OpenFileDialog (True, "Select a file.", , "c:") '-------------------------------------------------------- ' Build the email '-------------------------------------------------------- Set Person = New NotesName doc.Form = "Memo" doc.SendTo = Person.Abbreviated doc.Subject = "Requested File" '-------------------------------------------------------- ' Format the Rich Text field and send email '-------------------------------------------------------- Set rtitem = New NotesRichTextItem(doc, "Body") Call rtitem.AddNewline(1) Call rtitem.AppendText("Here is the file you requested.") Call rtitem.AddNewline (2) Set object = rtitem.EmbedObject (EMBED_ATTACHMENT, +_ "", filename(0)) doc.Send False Msgbox "The requested file has been sent.", 0, "Success" End Sub

How to Format Text in a Rich Text Object

Категории