Worksheets.shapes(i) no lo reconoce como shape en word
publicado
(Ante todo perdon por la ausencia de tildes pues estoy usando un teclado extrangero )
Hola a todos. Tengo el siguiente problema:
Resulta que tengo que hacer una macro que, en Word, busque las imagenes de un archivo Excel para importarlas a este. Como no tenia ni idea de como hacerlo, busque un pequenho ejemplo que recorre las distintas imagenes en la hoja excel. Asi pues, tengo el siguiente codigo:
Dim ExcelApplication As Excel.Application
Dim ExcelWorkbook As Workbook
Dim ExcelWorksheet As Excel.Worksheet
Dim img As Shape
Dim chrt As ChartObject
Dim Nombreimg As String
Dim i As Integer
Set ExcelApplication = New Excel.Application
Set ExcelWorkbook = ExcelApplication.Workbooks.Add(DocumentPath & OriginWorkbookName)
Set ExcelWorksheet = ExcelWorkbook.Sheets(1)
For i = 0 To (ExcelWorksheet.Shapes.Count - 1)
Set img = ExcelWorksheet.Shapes(i)
Next[/CODE]
Sin embargo, me arroja un error en tiempo de ejecucion 13 en la linea marcada en negrita (los tipos no coinciden) como si ExcelWorksheet.Shapes(i) no fuese un Shape.
Lo gracioso de todo es que este mismo codigo en [b]Excel [/b]si me funciona:
[CODE]
Dim Worksheet As Worksheet
Dim img As Shape
Set Worksheet = ThisWorkbook.Worksheets(1)
For Each img In Worksheet.Shapes
MsgBox (img.Name)
Next
[/CODE]
Vamos, que no me arroja ningun error y el "For each" es capaz de recorrer cada uno de los Shapes y asignarselos a img sin problema.
La verdad es que estoy algo confundido... alguien puede saber que pasa?
Un saludo
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
(Ante todo perdon por la ausencia de tildes pues estoy usando un teclado extrangero
)
Hola a todos. Tengo el siguiente problema:
Resulta que tengo que hacer una macro que, en Word, busque las imagenes de un archivo Excel para importarlas a este. Como no tenia ni idea de como hacerlo, busque un pequenho ejemplo que recorre las distintas imagenes en la hoja excel. Asi pues, tengo el siguiente codigo:
Sin embargo, me arroja un error en tiempo de ejecucion 13 en la linea marcada en negrita (los tipos no coinciden) como si ExcelWorksheet.Shapes(i) no fuese un Shape.
Lo gracioso de todo es que este mismo codigo en [b]Excel [/b]si me funciona:
Dim Worksheet As Worksheet
Dim img As Shape
Set Worksheet = ThisWorkbook.Worksheets(1)
For Each img In Worksheet.Shapes
MsgBox (img.Name)
Next
[/CODE]
Vamos, que no me arroja ningun error y el "For each" es capaz de recorrer cada uno de los Shapes y asignarselos a img sin problema.
La verdad es que estoy algo confundido... alguien puede saber que pasa?
Un saludo