Macros/General/008/es
Jump to navigation
Jump to search
TDF LibreOffice Document Liberation Blogs comunitarios Weblate Nextcloud Redmine Ask LibreOffice Apoyo al proyecto
Descripción
Esta macro le permite pegar texto sin formato desde el portapapeles.
Código
en LibreOffice Basic:
Option Explicit
Sub ClipboardTest
MsgBox getClipboardText
End Sub ' ClipboardTest
Function getClipboardText() As String
'''Devuelve una cadena del texto del portapapeles actual'''
Dim oClip As Object ' com.sun.star.datatransfer.clipboard.SystemClipboard
Dim oConverter As Object ' com.sun.star.script.Converter
Dim oClipContents As Object
Dim oTypes As Object
Dim i%
oClip = createUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oConverter = createUnoService("com.sun.star.script.Converter")
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
Next
If (i >= 0) Then
On Error Resume Next
getClipboardText = oConverter.convertToSimpleType _
(oClipContents.getTransferData(oTypes(i)), com.sun.star.uno.TypeClass.STRING)
End If
End Function ' getClipboardText