| |||
excell to word??? Hola tengo poca idea de VB y quisiera hacer una pequeña aplicación para poder pasar datos desde unas celdas en concreto a un archivo word..... podriais echarme una manilla......... Última edición por sainc; 18/09/2007 a las 05:21 |
| |||
Re: excell to word??? El maravilloso mundo de "Visual Basic for Aplications" y su maravillosa integración con Microsoft Office... desde luego, pocos tutoriales en la red no tienes y la pregunta muy concreta no es... Bueno, tendrás que hacer en VB las referencias a Microsoft Word y Microsoft Excel... crear los objetos correspondientes a las aplicaciones, documento de Word, libro de Excel y la hoja (o hojas). Y empezar a leer dicha hoja mientras la escribes en el documento. Puede serte util ayudarte con Macros desde el Office. Saludos. |
| |||
Re: excell to word??? Bueno, replanteo la pregunta, hago una serie de modificaciones desde excel a una serie de datos. Una vez, hecho la purga, paso los datos a una matriz en concreto. Y aquí viene mi problema, quiero coger el contenido de esa matriz y pasarla a word. No tendría problemas en pasar la matriz si, al menos, supiera pasar una celda......... Bueno gracias por las respuestas |
| |||
Respuesta: excell to word??? Hola! La información anterior me fué de muchísima ayuda. Sin embargo, quisiera sabersi existe alguna manera en la que pueda copiar una tabla de excel y pegarla en word como una imagen (metarchivo mejorado)? Claro, a través de una macro. Muchas gracias. |
| ||||
Respuesta: excell to word??? No sé si es a esto a lo que te refieres pero puedes hacer así:
Código:
Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.Documents.Add 'Aquí debes especificar el rango a copiar Worksheets("Hoja1").Range("A1:B6").Select Application.Selection.Copy wordApp.Visible = True wordApp.Selection.PasteExcelTable False, False, False
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: excell to word??? Hola David! Pues si me sirvió para pegarlo pero el problema es que no me lo pega como una imagen sino como una tabla, y la tabla que tengo en excel es muy grande y al pegarla en word me sales muchísimas hojas, por esa razón es que necesito pegarma en word como una imagen :(, lo quiero hacer con una macro pues es un proceso que tengo que realizar cotidianamente. Cuando ejecuto el código me dice que "Se produjo un error '424' en tiempo de ejecución Se requiere objeto" y vienen tres opciones una de ellas es depurar, ésta es la opción que le doy pero aún así no lo pega como imagen, qué hago?????????? Gracias |
| |||
Respuesta: excell to word??? Ya me salió!!!!!!!!!!!!!!!!! Yuju!!!!!!!!!! Lo logré con el siguiente código Sub wordappli() Dim apliword As Object Set apliword = CreateObject("word.application") Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.documents.Add 'Aquí debes especificar el rango a copiar Worksheets("julio").Range("cat").Select Application.Selection.Copy wordApp.Visible = True wordApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False apliword.Quit End Sub Mil gracias!!!!!!!! |
| ||||
Respuesta: excell to word??? Me alegra que lo hayas logrado. Cualquier otra duda, estamos por aquí. Saludos
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: excell to word??? Pues si tengo otra duda: son varios los rangos que tengo que pegar en el documento de word, los rangos están en diferentes hojas de un libro de excel. Habrá algún código con el que pueda replicar la copia para la misma macro? Saludos!!!!!!!! |
| ||||
Respuesta: excell to word??? Lo siento, pero no entendí tu pregunta. ¿Quieres copiar los rangos de las diferentes hojas?. Simplemente cambia el Range por el rango que quieres copiar. Si no es así, ¿podrías explicarnos mejor?...
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: excell to word??? No, lo que quiero es ejecutar la macro con diferentes rangos para que me los pegue en el mismo documento de word. Es decir, quiero incluir varios rangos a la vez en la misma macro. Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.documents.Add Worksheets("Cat1").Range("cat1").Select Worksheets("Cat2").Range("cat2").Select Worksheets("Cat3").Range("cat3").Select Application.Selection.Copy wordApp.Visible = True wordApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False Ya intenté ponerlo así pero no lo ejecuta supongo que habrá algún código para replicar la misma operación con diferentes rangos, o algo así? Gracias Sr. David! |
| ||||
Respuesta: excell to word??? Puedes hacerlo así:
Código:
Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.Documents.Add wordApp.Visible = True WordPaste wordApp, Worksheets("Cat1").Range("cat1") WordPaste wordApp, Worksheets("Cat2").Range("cat2") WordPaste wordApp, Worksheets("Cat3").Range("cat3")
Código:
Sub WordPaste(WordObject As Object, myRange As Range) myRange.Select Application.Selection.Copy WordObject.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False End Sub
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: excell to word??? Hola David! Soy una latosa de lo peor!! Pero el código que me hiciste favor de pasar no he podido ejecutarlo, se queda pasmado..... no hace nada!! Me ayudas? Gracias! Cita:
Iniciado por David el Grande Puedes hacerlo así:
Código:
Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.Documents.Add wordApp.Visible = True WordPaste wordApp, Worksheets("Cat1").Range("cat1") WordPaste wordApp, Worksheets("Cat2").Range("cat2") WordPaste wordApp, Worksheets("Cat3").Range("cat3")
Código:
Sub WordPaste(WordObject As Object, myRange As Range) myRange.Select Application.Selection.Copy WordObject.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False End Sub |
| ||||
Respuesta: excell to word??? Es que aquí estás poniendo mal:
Código:
Donde te marqué en rojo debes coloar el rango de celdas a copiar...WordPaste wordApp, Worksheets("Cat1").Range("cat1") WordPaste wordApp, Worksheets("Cat2").Range("cat2") WordPaste wordApp, Worksheets("Cat3").Range("cat3") EDITO: En realidad está correcto si son tablas, pero yo lo he copiado usando tablas con esos nombres y funciona perfectamente, puedes intentar ejecutarlo paso a paso para ver qué sucede.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: excell to word??? Hola David, He estado intentando ejecutar el siguiente código Sub wordappli() Dim apliword As Object Set apliword = CreateObject("word.application") Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") Set wordDoc = wordApp.documents.Add wordApp.Visible = True WordPaste wordApp, Worksheets("Cat1").Range("cat1") WordPaste wordApp, Worksheets("Cat2").Range("cat2") WordPaste wordApp, Worksheets("Cat3").Range("cat3") Application.Selection.Copy wordApp.Visible = True wordApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False apliword.Quit End Sub Sin embargo, me marca error ya que dice que no se ha definido un sub o función (para el renglón en donde empieza WordPaste) , este es el primer código que me mencionaste que podría servirme, abajo de éste pusiste otro que es: Sub WordPaste(WordObject As Object, myRange As Range) myRange.Select Application.Selection.Copy WordObject.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False End Sub No tengo mucha idea de cómo utilizar este último código. Asi mismo te comento que los rangos cat1, cat2, ....... etc. son rangos que yo nombré de esa manera y cada uno de ellos se encuentra en distintas hojas de un mismo libro de excel. Ya logré copiar y pegar uno de esos rangos pero no he conseguido que me copie y pegue todos los demás, la idea es que todos los rangos queden en un mismo documento de word. Espero me puedas ayudar, plis! Muchas gracias por tu atención. Última edición por priska; 07/08/2008 a las 09:53 Razón: localización del error en dnd empieza WordPaste |
| ||||
Respuesta: excell to word??? Bueno, es que este código: Código PHP: P.S.: ¿Para qué estás creando otra aplicación Word con el objeto apliword?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: excell to word??? Hola David! Gracias por contestar, la cosa es que al ejecutar el código anterior: Sub WordPaste bla bla bla....... no hace más que seleccionar el rango y copiarlo pero no lo pega en word como una imagen. Con el código anterior a este pude copiar y pegar uno de los 10 rangos que tenía en una de las 10 hojas de un libro de excel - lo hic e utilizando el objeto apliword - el problema que surge es que sólo me copia y pega en word la hoja que tenga activada, las demás no las pela. De nuevo gracias |
| ||||
Respuesta: excell to word??? Puedes hacer un for que recorra todas las hojas. Por ejemplo: Dim Hoja As Object Código PHP:
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |