Usando VBA en MS Office, ¿cómo agrego texto al portapapeles de Windows para que pegue en Word como una tabla?¿Cómo colocar texto en el portapapeles para que pegue como una tabla en Word?
Respuesta
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.
¿Has intentado formatearlo como una tabla HTML?
No funciona. Debes decirle al portapapeles que es una tabla HTML cuando la copies para que funcione. –
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.
Kluge respuesta es correcta pero este artículo diferente en MSDN tiene mejor código que es más fácil de reutilizar: http://blogs.msdn.com/jmstall/archive/2007/01/21/html-clipboard.aspx
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?
- 1. ¿Cómo colocar múltiples formatos en el portapapeles?
- 2. Convierta BMP a PNG en la memoria para que el Portapapeles pegue en .Net
- 3. ¿Cómo obtengo OpenXML en el portapapeles para que se pegue en Excel?
- 4. Pegue la tabla Excel en TinyMCE mientras conserva el formato
- 5. ¿Cómo coloco algún texto formateado en el Portapapeles?
- 6. ¿Cómo copio una imagen y texto en el portapapeles como un solo objeto?
- 7. Selección de toda la tabla/texto para copiar al portapapeles
- 8. Cómo colocar una tabla HTML?
- 9. Copiar/colocar texto en el portapapeles con FireFox, Safari y Chrome
- 10. Obtener el texto sobre la tabla MS Word
- 11. Cómo colocar texto en el centro de una ruta svg
- 12. cómo colocar y centrar el texto en un rectángulo SVG
- 13. ¿Cómo puedo colocar una tabla en un diagrama en Matplotlib?
- 14. Pegue una cadena como una variable, no como un fragmento de código ejecutable, en IPython
- 15. Cómo colocar toda la tabla en MySQL?
- 16. ¿Cómo copiar texto en el portapapeles en Javascript?
- 17. Colocar el cursor al inicio/fin del documento de Word
- 18. Pegue una cadena Java de varias líneas en Eclipse
- 19. Copia de texto al portapapeles utilizando Java
- 20. Mostrar DL como una tabla
- 21. ¿Cómo conservar el contenido del portapapeles en Emacs en Windows?
- 22. Cómo copiaría una imagen PNG al portapapeles usando Delphi
- 23. Obtener texto legible solo del portapapeles
- 24. Enviar texto en el portapapeles a la aplicación como el Bloc de notas (C# o Powershell)
- 25. Copie el texto del área seleccionada en el portapapeles
- 26. Cómo colocar texto sobre una imagen en css
- 27. Cómo colocar y ajustar el texto largo?
- 28. ¿Cómo colocar el cursor en cierto cuadro Editar texto?
- 29. Evitar que Vim borre el portapapeles en la salida
- 30. ¿Cómo funciona el portapapeles en Windows?
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. –
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. –