C# Bild und String an Word übergeben

CptNiklas

Lt. Junior Grade
Registriert
Juli 2009
Beiträge
269
Hallo,

ich hoffe ihr könnt mir helfen, ich quäle mich schon den ganzen Tag durch das Internet, finde aber nicht wirklich was gutes.

Es geht darum, ich habe mit C# ein Programm erstellt, welches mir aus einem String einen DataMatrix-Code als .pgn Bilddatei erzeugt. Klappt alles super!

Nun möchte ich Word öffnen und das erzeugte Bild und einen String übergeben, wie ich Word instanziiere und den String übergebe weiß ich, aber ich habe keine Ahnung wie ich das Bild in Word bekomme?!

Ich möchte die beiden Datein in Word haben um diese dan ausdrucken zu können, bzw um damit in Word weiter zu arbeiten!

Bin um jeden Tipp sehr dankbar!

P.S. Ich hab gerade erst mir der Programmiererei angefangen...
 
Ich würde das so versuchen, wie ich das auch ohne C# machen würde: Über die Zwischenablage:

To insert programmatically a bitmap to Microsoft Word documents


  1. Add to your .NET project a reference to System.Drawing.
  2. Add to your .NET project a reference to System.Windows.Forms.
  3. Add a reference to the previous namespaces in your code.

    [C#]

    using System.Drawing;
    using
    System.Windows.Forms;
  4. Define the range where you need to insert the image. object start = 0;
    object
    end = 0;
    Word.Range rng = ThisDocument.Range(ref start, ref end);
  5. Define the image. Image img = new Image();
    // img = your image goes here.
    Note: You should assign the image you want to insert to the img object.
  6. Copy the image to the clipboard. Clipboard.SetImage(img);
  7. Paste the image to the range defined in step 4. rng.Paste();
 
Wenn ich bei Word nicht mehr weiter weiß, dann nehme ich den guten alten Macro Recorder von Word und lasse mir ein Macro von den Aktionen aufzeichnen, die ich automatisiert ausführen möchte. Dieses Macro kann ich dann lesen und sehe welche Word Objekte wie verwendet werden. Zuguter letzt transformiere ich es dann in die eigentliche Zielsprache, z.B. C#

Zu deinem konkreten Problem könntest du 2 Wege gehen:
1. Zwischenablage, wie es mein Vorgänger schon beschrieben hat
2. Die Bilddatei einfach über die Automatisierungsobjekte, denke das waren die Sharps Objekte in dein Dokument einfügen, zur Unterstützung verwende doch mal den Macrorecorder s.o. und klicke einmal im Menü auf "Bild einfügen". War zumindest bei Office 2003 unter "Bearbeiten"

Viel Erfolg
Rossibaer
 
Danke für eure Antworten. Ich werde das mit dem Makro-Recorder, allein schon aus Interesse mal ausprobieren.

Ich habe das Printig jetzt aber direkt über C# gemacht, also ohne Word.

Es gibt in DotNet so viele gute Klassen rund um das Drucken. Es wäre blödsinnig über Word drucken zu lassen, zumindest in meinem Fall.

Für alle, die mehr wissen wollen:

http://openbook.galileocomputing.de/visual_csharp/visual_csharp_18_001.htm

-Hat mir sehr weiter geholfen!
 
Zurück
Oben