Problem mit image in Picturebox / Clipboard

deusfalsus

Erfahrenes Mitglied
Hallo,

ich möchte einen live erzeugten Barcode in eine Word-Datei einfügen.
Dazu füge ich das erzeugte Image ins Clipboard ein um dies an der entsprechenden Textmarke einzufügen.
Da das aber nicht klappt, habe ich zu Testzwecken das Image in eine Picturebox gepackt - dort kann man es einwandfrei sehen.
Wie bekomme ich es nun aber ins Word?
Code:
Try
        Dim oWord As New Word.Application
        Dim oDoc As New Word.Document
        Dim LabNr As String = "99999999"
        
        oDoc = oWord.Documents.Open(FileName:="c:\chargen_dok\ProdBglS.doc", [ReadOnly]:=True)
        oWord.Visible = True
        Dim range As Microsoft.Office.Interop.Word.Range
        range = oDoc.Bookmarks.Item("labnr").Range

        Dim c1bc As New C1.Win.C1BarCode.C1BarCode
        c1bc.Text = "99999999"
        c1bc.CodeType = C1.Win.C1BarCode.CodeTypeEnum.Code128
        PictureBox1.Image = c1bc.Image

        Clipboard.SetDataObject(PictureBox1.Image)
        range.Paste()

Catch ex As Exception
      MsgBox(ex.Message)
End Try

Egal, ob ich das Clipboard direkt mit 'c1bc.image' oder mit dem Inhalt der Picturebox füllen will, es kommt immer zu der Fehlermeldung:

"Diese Methode oder Eigenschaft ist nicht verfügbar, weil die Zwischenablage leer oder ungültig ist."
 
Zuletzt bearbeitet:
Hallo deufalus,

habe leider nur C# source, aber ich denke nicht das es all zu schwer ist die paar Zeilen zu ändern :)


C#:
            object n = System.Reflection.Missing.Value;
            object name = "MyDoc.doc";
            Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.Application();
            WordApp.Documents.Add(ref n, ref n, ref n, ref n);
            WordApp.Visible = true;
            Microsoft.Office.Interop.Word.Document doc = WordApp.ActiveDocument;
            doc.InlineShapes.AddPicture("MyImage.jpg", ref n, ref n, ref n);
            doc.SaveAs(ref name, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n, ref n);

Hatte den code bei mir auf dem Rechner zum liegen und konnte ihn auch nicht testen. Sollte aber gehen.

Grüße
 
Erstelle aus dem Barcode eine temporäre Bilddatei und füge diese mit oben gennanter Funktion in Word ein. Danach löschst du die datei einfach wieder ;)
 
Versuch mal herauszufinden ob der Fehler beim Schreiben der Zwischenablage oder beim Lesen der Zwischenablage liegt. Also kannst du beispielsweise dein Bild in die Ablage kopieren und in Paint ö.Ä. einfügen? Das mit der temporären Datei würde mich auch stören.
Edit: Probier auch mal die PasteSpecial-Methode aus.
 
Zuletzt bearbeitet:
Zurück