Hola a todos. Estoy desarrollando una aplicación en VB y tengo algún problemilla con la automatización para Word. Pues bien en un form envío al portapapeles una imagen de un PictureBox que es un BMP. Si abro Word y doy a pegar, esta imagen se pega sin mayores complicaciones.
Pues bien, mi intención era pegar la imagen y más texto en un documento .doc directamente desde mi aplicación. Para ello he creado este módulo con una acción a la que se llama desde un botón.
Código:
Sub Barras()
Dim etiqueta As Object
Dim img As StdPicture
Dim impr As Integer
If Clipboard.GetFormat(vbCFBitmap) Then
MsgBox "Imagen BMP", 0, "Imagen"
Set img = Clipboard.GetData
End If
Set etiqueta = CreateObject("Word.Basic")
If Err Then
MsgBox "Se han producido errores al crear la etiqueta", vbExclamation, "Error"
Exit Sub
End If
etiqueta.FileNewDefault
etiqueta.Insert img
etiqueta.Insert Chr(13)
etiqueta.Insert ArticuloNuevo.TextDescripcion.Text
impr = MsgBox("Desea imprimir la etiqueta del artículo", vbQuestion + vbYesNoCancel, "Crear etiqueta")
If impr = vbYes Then
etiqueta.Print
End If
etiqueta.AppMaximize
etiqueta.AppClose
Set etiqueta = Nothing
End Sub
Primero compruebo que, efectivamente, la imagen del portapapeles es BMP. Todo funciona bien, incluso insertar el texto pero da error de automatización con la imagen.
He probado también con
pero no soporta la propiedad o el método.
¿Cómo se puede hacer?¿Tiene que ver con las referencias a librerías VBA?
Gracias por llegar hasta aquí.