Option
Explicit
Private
Declare
Function
IsClipboardFormatAvailable
Lib
"user32"
(
ByVal
wFormat
As
Long
)
As
Long
Private
Declare
Function
OpenClipboard
Lib
"user32"
(
ByVal
hwnd
As
Long
)
As
Long
Private
Declare
Function
CloseClipboard
Lib
"user32"
()
As
Long
Private
Declare
Function
GetClipboardData
Lib
"user32"
(
ByVal
wFormat
As
Long
)
As
Long
Private
Declare
Function
lstrlenA
Lib
"kernel32"
(
ByVal
lpString
As
Any)
As
Long
Private
Declare
Function
lstrcpyA
Lib
"kernel32"
(
ByVal
lpString1
As
Any,
ByVal
lpString2
As
Any)
As
Long
Private
Declare
Function
GlobalLock
Lib
"kernel32"
(
ByVal
hMem
As
Long
)
As
Long
Private
Declare
Function
GlobalUnlock
Lib
"kernel32"
(
ByVal
hMem
As
Long
)
As
Long
Public
Enum
ClipboardFormats
CF_TEXT = &H1&
End
Enum
Public
Sub
Test()
Dim
strClipText
As
String
Dim
hClipText
As
Long
Dim
pClipText
As
Long
If
IsClipboardFormatAvailable(CF_TEXT)
Then
Call
OpenClipboard(0)
hClipText = GetClipboardData(CF_TEXT)
pClipText = GlobalLock(hClipText)
strClipText = Space$(lstrlenA(pClipText))
Call
lstrcpyA(strClipText, pClipText)
Call
GlobalUnlock(hClipText)
Call
CloseClipboard
End
If
If
strClipText <>
""
Then
MsgBox strClipText, vbInformation,
"Zwischenablage"
Else
MsgBox
"Zwischenablage ist leer / enthält keine verwendbare Daten."
, vbInformation,
"Zwischenablage"
End
If
End
Sub