Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Vba unificar procedimientos largos en uno para crear un informe desde excel a word

Estas en el tema de Vba unificar procedimientos largos en uno para crear un informe desde excel a word en el foro de Visual Basic clásico en Foros del Web. La cuestion es que estoy realizando una macro con excel que realiza un informe en un documento word, la macro abre el word y empieza ...
  #1 (permalink)  
Antiguo 19/05/2009, 09:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Vba unificar procedimientos largos en uno para crear un informe desde excel a word

La cuestion es que estoy realizando una macro con excel que realiza un informe en un documento word, la macro abre el word y empieza a pegar las celdas que designo a traves de la macro al word. LLega un momento que en la macro salta un error que dice:

Error de compilación: procedimiento demasiado largo.

resulta que hay demasiadas lineas, por lo que he procedido a separar el codigo en dos procedimientos haciendo lo siguiente

Procedimiento 1:

Sub Botón4_AlHacerClic()
'
' Botón4_AlHacerClic Macro
' Macro grabada el 15/05/2009 por JAVIER
'
Dim wordApp As Object
Dim wordDoc As Object
Set wordApp = CreateObject("Word.Application")
Set wordDoc = wordApp.Documents.Add

'TITULO
Worksheets("Comprobaciones Realizar").Range("B3:B3").Select
Application.Selection.Copy
wordApp.Visible = True
wordApp.Selection.PasteAndFormat (wdChartvalue)

'LINEA BLANCO
Worksheets("Comprobaciones Realizar").Range("A184:A184").Select
Application.Selection.Copy
wordApp.Visible = True
wordApp.Selection.PasteAndFormat (wdChartvalue)
....
Al final del procedimiento pongo

Call Botón5_AlHacerClic (creo que hace una llamada al procedimiento Botón5_AlHacerClic, que es el otro procedimiento)

End Sub


Procedimiento 2:

Sub Botón5_AlHacerClic()

'TITULO 7. PRESTACION DE SERVICIOS SIN ACCESO A DATOS

Dim wordApp As Object
Dim wordDoc As Object
Set wordApp = CreateObject("Word.Application")
Set wordDoc = wordApp.Documents.Add

Worksheets("Comprobaciones Realizar").Range("B32:B32").Select
Application.Selection.Copy
wordApp.Visible = True
wordApp.Selection.PasteAndFormat (wdChartvalue)

'LINEA BLANCO
Worksheets("Comprobaciones Realizar").Range("A184:A184").Select
Application.Selection.Copy
wordApp.Visible = True
wordApp.Selection.PasteAndFormat (wdChartvalue)

Al realizar esta llamada puedo trabajar con procedimientos largos, pero lo que pasa es que me cuando empieza con el segundo procedimiento me abre un nuevo documento word y lo que yo quisiera en que siguiere con el documento inicial, creo que el problema esta en el primer parrafo de codigo del procedimiento 2

¿Como habria que ponerlo para que todo se generara dentro del mismo documento word?

Muchas gracias
  #2 (permalink)  
Antiguo 19/05/2009, 10:47
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Vba unificar procedimientos largos en uno para crear un informe desde exce

el problema es que creas un doc nuevo al hacer "Set wordApp = CreateObject("Word.Application")" en el 2do procedimiento
en este momento no recuerdo que comando utilizar.
  #3 (permalink)  
Antiguo 19/05/2009, 23:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Vba unificar procedimientos largos en uno para crear un informe desde exce

Lo se, se que el problema esta es esa comando, pero lo que no se es que comandos poner para que continue creando el informe en el mismo doc que se ha creado en el procedimiento 1
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:33.