Re: Textfeldinhalt in Zwischenablage
Verfasst: Fr, 08.11.2013 17:19
Hallo
Ich hab mal für dich nach 'Clipboard' gesucht , und bin fündig geworden.
Karolus
Ich hab mal für dich nach 'Clipboard' gesucht , und bin fündig geworden.
Code: Alles auswählen
Global sTxtCString As String
Sub clipboard_1
a = "123"
b = "abc"
c = "xyz"
stext = join( array( a,b,c), chr(10))
CopyToClipBoard(sText)
End Sub
Sub CopyToClipBoard( sText )
' create SystemClipboard instance
oClip = CreateUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oTR = createUnoListener("Tr_","com.sun.star.datatransfer.XTransferable")
' set data
oClip.setContents(oTR,Null)
sTxtCString = sText
End Sub
Function Tr_getTransferData(aFlavor as com.sun.star.datatransfer.DataFlavor)
If (aFlavor.MimeType ="text/plain;charset=utf-16")Then
Tr_getTransferData() = sTxtCString
End If
End Function
Function Tr_getTransferDataFlavors()
Dim aFlavor As new com.sun.star.datatransfer.DataFlavor
aFlavor.MimeType ="text/plain;charset=utf-16"
aFlavor.HumanPresentableName ="Unicode-Text"
Tr_getTransferDataFlavors() = array(aFlavor)
End Function
Function Tr_isDataFlavorSupported(aFlavor as com.sun.star.datatransfer.DataFlavor) as Boolean
If aFlavor.MimeType ="text/plain;charset=utf-16" Then
Tr_isDataFlavorSupported = true
Else
Tr_isDataFlavorSupported = false
End If
End Function