portapapeles pegado especial definicion ms-word ms-office word-vba clipboard

ms-word - pegado - portapapeles windows 10



¿Cómo colocar texto en el portapapeles para que pegue como una tabla en Word? (5)

Usando VBA en MS Office, ¿cómo agrego texto al portapapeles de Windows para que pegue en Word como una tabla?


¿Has intentado formatearlo como una tabla HTML?


Ha pasado un tiempo desde que hice cualquier programación de Windows, pero parece recordar que registra el formato del objeto. De hecho, puede registrar múltiples objetos de diferentes formatos y la aplicación de pegado puede elegir entre ellos (como con la opción Paste Special Word).

Intentaría crear un objeto de tabla de Word, llenar sus celdas con sus datos y luego copiar eso en el portapapeles.


El portapapeles de Windows admite múltiples formatos. Cuando desee colocar cosas en el portapapeles, realice una o más llamadas a RegisterClipboardFormat () indicándole los formatos de los objetos que colocará en el portapapeles, seguido de llamadas a SetClipboardData () que coloca los datos en el portapapeles. .

Si desea poder pegar una tabla en Word, HTML es el formato más fácil para trabajar. Simplemente copie una tabla HTML en el portapapeles y pegará correctamente en Word, siempre que primero registre los datos del portapapeles como un objeto HTML.

Te daría un código, pero es más fácil simplemente hacer referencia a un ejemplo en MSDN:

Cómo agregar código HTML al portapapeles utilizando Visual Basic

Esta página incluso muestra un ejemplo de copia de una tabla HTML en el portapapeles.


El portapapeles es genial ... Pero algo parece un poco incompleto sobre usarlo para mantener el resultado de su programa para pegarlo en Word. ¿Qué es lo que estás tratando de hacer que probablemente deberías estar haciendo de otra manera?