Exportar de Excel a Word


Ejemplo para pasar un valor de una celda de un libro Excel a un documento Word:
'NOTA: Marcar referencia (Herramienta -> Referencias...)
'           "Microsoft Word 14.0 Object Library"
Sub CeldaDeExcelWord()
    Dim LibroExcel As Workbook                      'Libro Excel
    Dim mwApp As Word.Application                   'Aplicación Microsoft Word
    Dim DocMW As Word.Document                      'Documento Microsoft Word
    Dim DirLibroExcel As String                     'Dirección Libro Excel
    Dim DirDocMW As String                          'Dirección Documento Word
    
    'Desactivamos las alertas
    Application.DisplayAlerts = False

    'Indicamos la ubicación del Libro de Excel y del documento Word
    DirLibroExcel = "D:\Pruebas\Libro Excel.xlsx"
    DirDocMW = "D:\Pruebas\Documento Word.docx"
    
    'Se abre Microsoft Word en caso de que no este abierto
    If mwApp Is Nothing Then Set mwApp = New Word.Application
    mwApp.Visible = True
    
    'Abrimos el libro de Excel y el documento Word
    Set LibroExcel = Workbooks.Open(DirLibroExcel)
    Set DocMW = mwApp.Documents.Open(DirDocMW)
    
    'Copiamos el valor de la celda de Excel en el documento Word
    DocMW.Bookmarks.Item("Texto").Range.Text = _
        LibroExcel.Sheets("Celda Origen").Cells(2, 2).Value
        
    'Cerramos el Libro Excel sin guardar cambios
    LibroExcel.Close False
    
    'Cerramos el documento Word guardando los cambios
    DocMW.Save
    'DocMW.Close
    
    'Liberamos memoria
    Set LibroExcel = Nothing
    Set DocMW = Nothing
    Set mwApp = Nothing

    'Activamos nuevamente las alertas
    Application.DisplayAlerts = True
End Sub

Ejemplo para pasar una tabla de un libro Excel a un documento Word:
'NOTA: Marcar referencia (Herramienta -> Referencias...)
'           "Microsoft PowerPoint 14.0 Object Library"
Sub TablaDeExcelWord()
    Dim LibroExcel As Workbook                      'Libro Excel
    Dim mwApp As Word.Application                   'Aplicación Microsoft Word
    Dim DocMW As Word.Document                      'Documento Microsoft Word
    Dim DirLibroExcel As String                     'Dirección Libro Excel
    Dim DirDocMW As String                          'Dirección Documento Word
    
    'Desactivamos las alertas
    Application.DisplayAlerts = False

    'Indicamos la ubicación del Libro de Excel y del documento Word
    DirLibroExcel = "D:\Pruebas\Libro Excel.xlsx"
    DirDocMW = "D:\Pruebas\Documento Word.docx"
    
    'Se abre Microsoft Word en caso de que no este abierto
    If mwApp Is Nothing Then Set mwApp = New Word.Application
    mwApp.Visible = True
    
    'Abrimos el libro de Excel y el documento Word
    Set LibroExcel = Workbooks.Open(DirLibroExcel)
    Set DocMW = mwApp.Documents.Open(DirDocMW)
    
    'Copiamos la tabla del Libro de Excel
    LibroExcel.Sheets("Tabla Origen").Range("A1:F19").Copy

    'Pegar en documento Word como imagen
    'DocMW.Bookmarks.Item("Tabla").Range.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
    '    Placement:=wdInLine, DisplayAsIcon:=False
    
    'Pegar en documento Word vinculado a Excel
    DocMW.Bookmarks.Item("Tabla").Range.PasteSpecial link:=True, DataType:=wdPasteOLEObject, Placement _
        :=wdInLine, DisplayAsIcon:=False
    
    'Dimencionamos la tabla
    DocMW.InlineShapes(1).Width = 460
    DocMW.InlineShapes(1).Height = 400
    
    'Cerramos el Libro Excel sin guardar cambios
    LibroExcel.Close False
    
    'Cerramos el documento Word guardando los cambios
    DocMW.Save
    'DocMW.Close
    
    'Liberamos memoria
    Set LibroExcel = Nothing
    Set DocMW = Nothing
    Set mwApp = Nothing

    'Activamos nuevamente las alertas
    Application.DisplayAlerts = True
End Sub

Ejemplo para pasar un gráfico de un libro Excel a un documento Word:
'NOTA: Marcar referencia (Herramienta -> Referencias...)
'           "Microsoft PowerPoint 14.0 Object Library"
Sub TablaDeExcelWord()
    Dim LibroExcel As Workbook                      'Libro Excel
    Dim mwApp As Word.Application                   'Aplicación Microsoft Word
    Dim DocMW As Word.Document                      'Documento Microsoft Word
    Dim DirLibroExcel As String                     'Dirección Libro Excel
    Dim DirDocMW As String                          'Dirección Documento Word

    'Desactivamos las alertas
    Application.DisplayAlerts = False

    'Indicamos la ubicación del Libro de Excel y del documento Word
    DirLibroExcel = "D:\Pruebas\Libro Excel.xlsx"
    DirDocMW = "D:\Pruebas\Documento Word.docx"
    
    'Se abre Microsoft Word en caso de que no este abierto
    If mwApp Is Nothing Then Set mwApp = New Word.Application
    mwApp.Visible = True

    'Abrimos el libro de Excel y el documento Word
    Set LibroExcel = Workbooks.Open(DirLibroExcel)
    Set DocMW = mwApp.Documents.Open(DirDocMW)
    
    'Copiamos el gráfico del Libro de Excel
    LibroExcel.Sheets("Gráfico Origen").ChartObjects(1) .ChartObjects(1).Activate
    ActiveChart.ChartArea.Copy


    'Pegar en documento Word como imagen
    'DocMW.Bookmarks.Item(“Grafico").Range.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
    '    Placement:=wdInLine, DisplayAsIcon:=False
    
    'Pegar en documento Word vinculado a Excel
    DocMW.Bookmarks.Item("Grafico").Range.PasteSpecial
    
    'Cerramos el Libro Excel sin guardar cambios
    LibroExcel.Close False
    
    'Cerramos el documento Word guardando los cambios
    DocMW.Save
    'DocMW.Close
    
    'Liberamos memoria
    Set LibroExcel = Nothing
    Set DocMW = Nothing
    Set mwApp = Nothing

    'Activamos nuevamente las alertas
    Application.DisplayAlerts = True
End Sub

Crear marcador en Word:




No hay comentarios:

Publicar un comentario