Getting unformatted text from clipboard

    From The Document Foundation Wiki

    Other languages:


    This macro allows you to paste unformatted text from the clipboard.


    In LibreOffice Basic:

    Option Explicit
    Sub ClipboardTest
        MsgBox getClipboardText
    End Sub ' ClipboardTest
    Function getClipboardText() As String
        '''Returns a string of the current clipboard text'''
        Dim oClip As Object '
        Dim oConverter As Object '
        Dim oClipContents As Object
        Dim oTypes As Object
        Dim i%
        oClip = createUnoService("")
        oConverter = createUnoService("")
        On Error Resume Next
        oClipContents = oClip.getContents
        oTypes = oClipContents.getTransferDataFlavors
        For i = LBound(oTypes) To UBound(oTypes)
            If oTypes(i).MimeType = "text/plain;charset=utf-16" Then
                Exit For
            End If
        If (i >= 0) Then
            On Error Resume Next
            getClipboardText = oConverter.convertToSimpleType _
        End If
    End Function ' getClipboardText

    ODT file to test macro