Manage Learn to apply best practices and optimize your operations.

Howto: Copy Word Rich Text To The Clipboard

Introduction
This will describe how to:
1. get a word document that has been embedded into a rich text field in Notes,
2. activate it and start an OLE session,
3. select the contents, and then
4. copy this to the Windows clipboard.

After it is in the clipboard, it is up to you. I would use caution here. It is
better to avoid using the clipboard without the user knowing. It is possible
that the user has something in there already. If you overwrite it without
telling them, they may not like it.

Algorithm for the code:
1. open up a view,
2. get a document based on the first sorted column (the key),
3. Get the target rich text field,
4. activate the embedded word object,
5. select everything, and
6. copy it to the clipboard.

Note: to get additional help when your are in Lotus script. Open up the
'browser' and view the OLE objects. If you want help on any of these topics,
press F1.
Sub CopyWordtoClip(Byval viewname As String,_ 'The view name to copy
Byval dockey As String,_ 'The notes document's key
Byval fieldname As String,_ 'The field where the object is
ok) 'If it worked
'Name: Ian Connor
'Company: CSC
'Date: 3 June 1999

'PRE: The view exists, it has a document with the first column value equal
to the dockey and it has a word document
' with embedded into the field 'body'
'POST: The contents of the word embedded object are in the clipboard

'PURPOSE: To get the rich text contents of the Word embedded object into
the clipboard

ok = True

On Error Goto errorhandle

'Declare the stuff
Dim session As New NotesSession
Dim cdb As notesdatabase
Dim view As notesView ' Theview
Dim doc As notesdocument 'The document with the attachment
Dim item As Variant 'The rt item with the attachment
Dim embobj As NotesEmbeddedObject 'the attachment
Dim handle As Variant 'Handle to the Word Document
Dim selection As Variant 'The selction object in Word (the whole thing)

'Get the document in the current database given the view and key to use
Set cdb = session.CurrentDatabase
Set view = cdb.GetView( viewname )
Set doc = view.GetDocumentByKey( dockey )


'Get the object in the field
Set item = doc.getfirstitem(fieldname)
Set embobj = Item.EmbeddedObjects(0)

'Get the OLE handle and activate it (without display)
Set handle = embobj.Activate(False)

'Select everything
handle.select
Set selection = handle.activewindow.selection

'Copy the selection to the clipboard
selection.copy

Exit Sub

errorhandle:
Messagebox "OLE Copy Error", 16, Error
ok = False
Exit Sub

End Sub

Dig Deeper on Domino Resources - Part 4

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

SearchDataCenter

SearchContentManagement

Close