2008-11-17 8 views

Respuesta

6

El portapapeles de Windows admite varios 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 algo de código, pero es más fácil de simplemente hacer referencia a un ejemplo en MSDN:

How to add HTML code to the clipboard using Visual Basic

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

+0

Me puse a trabajar, pero me di cuenta de que no puedo pegar los datos de la celda de la tabla en una tabla de Word existente, de la misma manera que con las tablas de Word para copiar y pegar. En cambio, los datos de la tabla del portapapeles aparecen como una tabla anidada dentro de una única celda de tabla de Word. Para que funcione, probablemente se requiera una comprensión detallada de lo que Word espera encontrar en el portapapeles. –

+0

Para pegar las celdas de la tabla en las tablas de Word de la forma en que lo hace Word, supongo que tendré que poner el formato RTF en el portapapeles. –

0

¿Has intentado formatearlo como una tabla HTML?

+0

No funciona. Debes decirle al portapapeles que es una tabla HTML cuando la copies para que funcione. –

0

Ha pasado un tiempo desde que realicé cualquier programación de Windows, pero parece recordar que usted 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 de Word).

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

0

El portapapeles es grande ... Pero algo parece un poco rara acerca de su uso para mantener la salida desde tu programa para pegarlo en Word. ¿Qué es lo que estás tratando de hacer que probablemente deberías estar haciendo de otra manera?

Cuestiones relacionadas