Retrieve The Clipboard Text Into Your Lotusscript

Ever wanted to retrieve the clipboard text into your LotusScript, well here's
Note: I currently use this to create seemless links between the Browser and a
local Notes Client Session.
Declare Function OpenClipboard Lib "User32" (Byval hwnd As Long) As Long
Declare Function CloseClipboard Lib "User32" () As Long
Declare Function GetClipboardData Lib "User32" (Byval wFormat As Long) As Long
Declare Function GlobalLock Lib "kernel32" (Byval hMem As Long) As Long
Declare Function GlobalUnlock Lib "kernel32" (Byval hMem As Long) As Long
Declare Function lstrcpy Lib "kernel32" (Byval lpString1 As String, Byval
lpString2 As Any) As Long

Function ClipBoard_GetData() As String
' This function will return the text currently in the Windows 95/NT
' It will return an empty string if there is an image in the clipboard
Dim hClipMemory As Long
Dim lpClipMemory As Long
Dim MyString As String *4096
Dim TrimmedString As String
Dim RetVal As Long
Dim returnInt As Integer

Const CF_TEXT = 1
Const MAXSIZE = 4096

If OpenClipboard(0&) = 0 Then
Msgbox "Cannot open Clipboard. Another application may have it open"
Exit Function
End If

' Obtain the handle to the global memory block that is referencing the
hClipMemory = GetClipboardData(CF_TEXT)
If hClipMemory = 0 Then
Msgbox "Could not allocate memory."
Goto OutOfHere
End If

' Lock Clipboard memory so we can reference the actual data string.
lpClipMemory = GlobalLock(hClipMemory)

If lpClipMemory <> 0 Then
MyString = Space$(MAXSIZE)
RetVal = lstrcpy(MyString, lpClipMemory)
RetVal = GlobalUnlock(hClipMemory)
MyString = Mid(MyString, 1, Instr(1, MyString, Chr$(0), 0) - 1) '
Strip off the null terminating character.
TrimmedString = Trim(MyString)
Msgbox "Could not lock memory to copy string from."
End If

RetVal = CloseClipboard()
ClipBoard_GetData = TrimmedString

End Function

This was first published in November 2000

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.