olá pessoal, sei um pouco de VBA e queria fazer uma macro que quando executada dentro de manual ele pegue uma imagem que esta na mesma pasta do arquivo CorelDraw, posicione no espaço e dimensione já com as medidas, depois disso ele apague a imagem existente e coloque a nova imagem na mesmo posição da imagem antiga dentro da camada.
Estou usando o comando ActiveWorkbook.Path para pegar o caminho na rede onde esta o arquivo CorelDraw mas parece que ele não reconhece e esta dando o segui erro: Objeto requerido (Erro 424).
Poderia me ajudar?
OBS: código ainda não esta completo!
Código:
Sub trocar_imagens()
' Recorded 03/03/2023
Dim impopt As StructImportOptions
Set impopt = CreateStructImportOptions
With impopt
.Mode = cdrImportFull
.MaintainLayers = True
With .ColorConversionOptions
.SourceColorProfileList = "sRGB IEC61966-2.1,U.S. Web Coated (SWOP) v2,Dot Gain 20%"
.TargetColorProfileList = "sRGB IEC61966-2.1,U.S. Web Coated (SWOP) v2,Dot Gain 20%"
End With
End With
'Dim pasta As ImportFilter
'Set pasta = ActiveWorkbook.Path & "\" & "\IMAGENS\FIG. A1.JPG"
'pasta.Finish
'pasta = A
'MsgBox pasta
Dim impflt As ImportFilter
Set impflt = ActiveDocument.Pages(24).Layers("Camada 1").ImportEx(ActiveWorkbook.Path & "\IMAGENS\FIG. A1.JPG", cdrJPEG, impopt)
impflt.Finish
Dim s1 As Shape
Set s1 = ActiveShape
ActiveDocument.Pages(24).Layers("Camada 1").Shapes(1).Move -0.198937, -0.752177
ActiveDocument.ReferencePoint = cdrCenter
ActiveDocument.Pages(24).Layers("Camada 1").Shapes(1).SetSize 6.889764, 4.774157
ActiveDocument.Pages(24).Layers("Camada 1").Shapes(1).SetPosition 4.133858, 5.11811
ActiveDocument.Pages(24).Layers("Camada 1").Shapes(3).Delete
ActiveDocument.Pages(24).Layers("Camada 1").Shapes(2).OrderBackOf ActiveDocument.Pages(24).Layers("Camada 1").Shapes(1)
ActiveDocument.Pages(25).Activate
End Sub