Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2003, 16:54
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Portapapeles, Word y VB

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
Código:
etiqueta.Paste
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í.