• Domingo 22 de Diciembre de 2024, 13:05

Autor Tema:  Exportar Hojas De Excel A Word  (Leído 8257 veces)

Kaisser

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Exportar Hojas De Excel A Word
« en: Miércoles 24 de Enero de 2007, 09:29 »
0
Hola a todos.

 Tengo un documento en excel compuesto por más de 1 hoja y quiero exportar dichas hojas a un documento de word.

 Bueno, haciendolo a mano y grabando todo en una macro tengo la solución a lo que quiero, pero........ el caso es que sólo me importa la primera hoja del documento excel.  <_<
 
 ¿Cómo puedo exportar todas?    


 Otra cosilla, luego tengo que pasar todo a PDF,  que es más fácil, pasar excel a pdf y word a pdf y unirlos ordenadamente en un gran pdf o pasar todo a word y luego a pdf. (Pregunta enredada, pero lo comento por si es más fácil).

 Un saludo y gracias.

Kaisser

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Exportar Hojas De Excel A Word
« Respuesta #1 en: Miércoles 24 de Enero de 2007, 10:13 »
0
Vaya, tengo un problema.

 La macro de Word para importar el Excel tiene este código:

Código: Text
  1.  Excel.Application.Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.8", Filename:="\\...\Archivo.xls", LinkToFile:=False, DisplayAsIcon:=False
  2.  

 El caso es que eso se hace desde Word, con Excel cerrado y claro, yo había pensado en un bucle para recorrer las hojas de word e ir exportandolas y claro, si tengo que tener Excel cerrado........ mal asunto  :(


 A ver si alguien me puede ayudar.


 Salu2

Kaisser

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Exportar Hojas De Excel A Word
« Respuesta #2 en: Miércoles 24 de Enero de 2007, 13:30 »
0
Hola, pues parece que ya lo he resuelto.

 Aquí pongo todo, por si a alguien le es útil, no es gran cosa, pero bueno:

Código: Text
  1.  
  2.    
  3. '=========================
  4. 'EXPORTAR DE EXCEL A WORD.
  5. '=========================
  6.  
  7. On Error Resume Next
  8. 'Nos situamos en el documento word en la posición que queremos que  vaya la hoja de excel con un bookmar
  9. appWD.Selection.Application.ActiveDocument.Bookmarks("Hoja_Inicio").Select
  10.  
  11. 'Bucle para ir insertando todas las hojas del documento excel
  12. Excel.Sheets("DATOS GENERALES").Select
  13.  
  14. Dim Contador As Integer
  15. Contador = Excel.Sheets.Count
  16.  
  17. Dim Indice As Integer
  18. Indice = 1
  19.  
  20. Do While Contador > 0
  21.  
  22.     'Selecciono una hoja
  23.     Excel.Sheets(Indice).Select
  24.    
  25.     'Cierro excel                                                  
  26.     Excel.Application.DisplayAlerts = False
  27.     Excel.Application.SaveWorkspace
  28.     Excel.Application.Quit
  29.    
  30.     Excel.Application.DisplayAlerts = True
  31.    
  32.     'Importo la hoja
  33.    
  34.     appWD.Application.Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.8", Filename:="\\....\doc.xls", LinkToFile:=False, DisplayAsIcon:=False
  35.    
  36.    
  37.     'Puede pedir autorización para usar macros, es cuestión de bajar la seguridad.
  38.    
  39.    
  40.     'Abro de nuevo excel y borro la hoja que he exportado
  41.      On Local Error Resume Next
  42.      Set Excel = CreateObject("excel.application")
  43.      Excel.Workbooks.Open "\\...\documento.xls"
  44.  
  45.      Excel.Workbooks(1).Activate
  46.      
  47.      
  48.         If Err Then
  49.             MsgBox Err.Number, Err.Description, "Error al abrir ."
  50.             Excel.Close
  51.         End If
  52.         Excel.Visible = True
  53.    
  54.        
  55.     'Selecciono una hoja
  56.     Excel.Sheets(Indice).Select
  57.    
  58.  
  59.  
  60.     If Contador <> 1 Then                                           'Preguntar antes de abrir Excel, por que sino hay que borrar es tonteria abrir
  61.         Excel.Application.DisplayAlerts = False
  62.         Excel.ActiveWindow.SelectedSheets.Delete
  63.         Excel.Application.DisplayAlerts = True
  64.     End If
  65.    
  66.    
  67.    ' Excel.Visible = True
  68.    
  69.     'Actualizo indices
  70.    ' Indice = Indice + 1
  71.    
  72.     Contador = Contador - 1
  73. Loop
  74.  
  75.  
  76.  
  77. 'Excel.Application.Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.8", Filename:="\\...\documento.xls", LinkToFile:=False, DisplayAsIcon:=False
  78.    
  79.    
  80.    If Error Then
  81.     ' MsgBox Error       'HAY ALGÚN ERROR, PERO EL TEMA FUNCIONA :P
  82.    End If
  83.    
  84.  
  85.    
  86.    
  87.     'Cerramos las aplicaciones de Word y Excel.
  88.     appWD.Quit
  89.     Excel.Application.Quit
  90.  
  91.  
  92.  


 Es una autentica chapuza, por que abro varias veces Excel y lo cierro, pero no va mal del todo   :kicking:

 Un saludo.