Sub Click(Source As Button)
On Error Goto errh
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
' В данном случае просто создаем ссылку на себя....
Dim linkedDoc As NotesDocument
Set linkedDoc = ws.CurrentDocument.Document
Call createClipboardLink( linkedDoc )
Call uidoc.GotoField( "RT" ) ' задачу позиционирования в поле предлагаю решить самостоятельно :-)
Call uidoc.Paste
Exit Sub
ErrH: Error Err, Error$ & Chr(10) & Getthreadinfo(1) & " (line " & Erl & ")"
End Sub
'/**
' * Cоздает ссылку на документв в буфере обмена.
' * Ахтунг: текущее содержимое буфера будет потеряно
' */
Private Function createClipBoardLink( i_doc As NotesDocument )
On Error Goto errh
' создаем фэйковый документ
Dim ws As New NotesUIWorkspace
Dim fakeDoc As New NotesDocument( ws.CurrentDatabase.Database )
fakeDoc.form = "FakeForm"
fakeDoc.SaveOptions = "0"
' создаем RT-поле, кладем туда нужный линк
Dim fakeRTItem As New NotesRichTextItem( fakeDoc , "fakeField" )
Call fakeRTItem.AppendDocLink( i_doc , "Comment" , "HotSpotText" )
Call fakeRTItem.Update()
' Открываем документ в UI
Dim fakeUIDoc As NotesUIDocument
Set fakeUIDoc = ws.EditDocument( True , fakeDoc , False )
' Копируем содержимое поля
Call fakeUIDoc.Refresh
Call fakeUIDoc.GotoField( "fakeField" )
Call fakeUIDoc.SelectAll
Call fakeUIDoc.Copy
' Закрываем док
Call fakeUIDoc.Close
Exit Function
ErrH: Error Err, Error$ & Chr(10) & Getthreadinfo(1) & " (line " & Erl & ")"
End Function