Noticias:

Reinstalando todo...

Menú Principal

Copiar al portapapeles

Iniciado por xavi, Septiembre 24, 2021, 11:19:31 AM

Tema anterior - Siguiente tema

xavi

Palabras clave: copiar, portapapeles, clipboard
Autor: Mihura

Objetivo:
McPegasus pregunta en un grupo si existen alternativas al SendKeys ( ;D ) para copiar un texto dado en el portapapeles. Apunta 2 soluciones: una mediante API y otra mediante MSForms.DataObject.
Parece ser que la API está fallando últimamente y que la MSForms obliga a tener la referencia (cosa no siempre posible/deseable)

Respuesta
Mihura, casi al límite del tiempo que había marcado, nos obsequia con esta pequeña maravilla de 5 líneas:


Public Function RT_CopyToClip(ByVal Expresion As String)
    Const DATAOBJECT_BINDING As String = "new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"
    With CreateObject(DATAOBJECT_BINDING)
        .SetText Expresion
        .PutInClipboard
    End With
End Function