Exportar grafico de Excel a Word
Publicado por ING. ANDRES SALAS (3 intervenciones) el 05/09/2009 00:54:28
Estoy exportando un gráfico creado en Excel a un documento en word, desde Visual.Net 2008, el código que he creado es el siguiente:
Dim x As Excel.Application
Dim Y As Excel.Workbook
Dim problems As Boolean
Dim ObjRange As Word.Range
Dim OWord As New Word.Application
On Error Resume Next
x = GetObject(, "Excel.Application")
If Err().Number = 16 Then
problems = True
x = New Excel.Application
End If
On Error GoTo 0
Y = x.Workbooks.Open("C:T.xlsx")
Dim Documento As New Word.Document
Documento = OWord.Documents.Add
With Y.Sheets("Hoja1")
ObjRange = OWord.ActiveDocument.Range(Start:=0, End:=0)
ObjRange.Select()
Clipboard.Clear()
Clipboard.SetData(System.Windows.Forms.DataFormats.Bitmap, .ChartObjects("1 Gráfico"))
End With
OWord.Selection.Paste()
Clipboard.Clear()
OWord.Visible = True
Y.Close(SaveChanges:=False)
x.Quit()
Y = Nothing
x = Nothing
el problema es que no me selecciona el grafico, por lo que no lo guarda en el portapapeles.
¿Qué debo hacer?
¿Qué puedo modificar en el código?
Espero si es posible me brinden ayuda
Dim x As Excel.Application
Dim Y As Excel.Workbook
Dim problems As Boolean
Dim ObjRange As Word.Range
Dim OWord As New Word.Application
On Error Resume Next
x = GetObject(, "Excel.Application")
If Err().Number = 16 Then
problems = True
x = New Excel.Application
End If
On Error GoTo 0
Y = x.Workbooks.Open("C:T.xlsx")
Dim Documento As New Word.Document
Documento = OWord.Documents.Add
With Y.Sheets("Hoja1")
ObjRange = OWord.ActiveDocument.Range(Start:=0, End:=0)
ObjRange.Select()
Clipboard.Clear()
Clipboard.SetData(System.Windows.Forms.DataFormats.Bitmap, .ChartObjects("1 Gráfico"))
End With
OWord.Selection.Paste()
Clipboard.Clear()
OWord.Visible = True
Y.Close(SaveChanges:=False)
x.Quit()
Y = Nothing
x = Nothing
el problema es que no me selecciona el grafico, por lo que no lo guarda en el portapapeles.
¿Qué debo hacer?
¿Qué puedo modificar en el código?
Espero si es posible me brinden ayuda
Valora esta pregunta


0