Visual Basic para Aplicaciones - Pasar imagen y datos de excel a word

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de juan marcelo
Val: 7
Ha aumentado su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Pasar imagen y datos de excel a word

Publicado por juan marcelo (2 intervenciones) el 28/05/2019 01:33:51
Buenas, tengo este còdigo para pasar datos y una imagen de una hoja de excel a otra de word, pero me tira este error "SE HA PRODUCIDO EL ERROR '436' EN TIEMPO DE EJECUCION: EL OBJETO NO ADMITE ESTA PROPIEDAD O METODO.
El erro se produce en la siguiente lìnea: "Set tabla = obgWord.Tables.Add (objWord.Range, 1, 1)". Saludos!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub cmdWord_Click()
'Ubicación y nombre de la plantilla
'La ubicación está dada por la concatenación de los datos de dos celdas + la extensión del archivo de plantillas de Word.
wArch = Hoja3.Range("C3").Text & Hoja3.Range("C2").Text & ".docx"
'Con la variable siguiente definimos que vamos a trabajar con un documento de Word.
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
 
'Código para la imagen..........................
Dim tabla As Object
Sheets("SIT_LEGAL").Select
Range("F1:H13").CopyPicture xlScreen, xlPicture
Set tabla = objWord.Tables.Add(objWord.Range, 1, 1)
tabla.cell(1, 1).Range.Paste
'Hasta acá......................
 
'Creamos un documento nuevo con la plantilla
objWord.documents.Add Template:=wArch, NewTemplate:=False, DocumentType:=0
'Utilizamos For para recorrer todas las variables de 1 al dato de la celda C1.
prontuario = Hoja3.Range("A12")
For i = 1 To Hoja3.Range("c1").Value  'celda dónde está la cuenta
 
datos = Hoja3.Range("B" & i).Text 'dónde están los datos
reemp = Hoja3.Range("A" & i).Text 'dónde están las etiquetas
 
     'utilizamos buscar y reemplazar de word
     With objWord.Selection.Find
            .Text = datos 'busca el texto de datos
            .Replacement.Text = reemp 'reemplaza por el texto
            .Execute Replace:=2 'la variable en dos es para reemplazar todos los valores
 
     End With
Next i
 objWord.Activate 'Activa el documento de word
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder