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