stdPicture zu Word

16/02/2010 - 17:38 von Jürgen Schulz | Report spam
Hallo NG
ich versuche mich derzeit an der Bearbeitung von Bildern.
Folgendes habe ich derzeit fertig:
- einlesen von Bildern aus bestimmten Ordnern
- Bilder als Thumbs anzeigen lassen
- zuordnen der Bilder zu Dokumenten
- Bilder in der Größe àndern (Resize)
- Word-Dokumente erstellen und Bilder einfügen

Damit Word nicht die großen Ursprungsbilder speichert habe ich folgenden
Weg benutzt:

Dim myPic As stdPicture
Dim myNewPic As stdPicture

InitGDIP
Set myPic = LoadPictureGDIP(strBild)
Set myNewPic = ResampleGDIP(myPic, lngBreite, lngHoehe)
bol = SavePicGDIPlus(myNewPic, strNewName, pictypeJPG)

ShutDownGDIP

In Word füge ich dann das Bild strNewName ein.

Nun meine Frage: kann ich mir den Umweg mit dem speichern ersparen und
in Word gleich das stdPicture Objekt einfügen? Wenn ja, wie?

Danke schon mal
Jürgen
 

Lesen sie die antworten

#1 Sascha Trowitzsch
17/02/2010 - 22:19 | Warnen spam
Hi Jürgen,

Jürgen Schulz wrote:
Hallo NG
ich versuche mich derzeit an der Bearbeitung von Bildern.
Folgendes habe ich derzeit fertig:
- einlesen von Bildern aus bestimmten Ordnern
- Bilder als Thumbs anzeigen lassen
- zuordnen der Bilder zu Dokumenten
- Bilder in der Größe àndern (Resize)
- Word-Dokumente erstellen und Bilder einfügen

Damit Word nicht die großen Ursprungsbilder speichert habe ich
folgenden Weg benutzt:

Dim myPic As stdPicture
Dim myNewPic As stdPicture

InitGDIP
Set myPic = LoadPictureGDIP(strBild)
Set myNewPic = ResampleGDIP(myPic, lngBreite, lngHoehe)
bol = SavePicGDIPlus(myNewPic, strNewName, pictypeJPG)

ShutDownGDIP

In Word füge ich dann das Bild strNewName ein.

Nun meine Frage: kann ich mir den Umweg mit dem speichern ersparen und
in Word gleich das stdPicture Objekt einfügen? Wenn ja, wie?



Nein, geht nicht. AddPicture ist die einzige Möglichkeit, um ein Bild per
VBA einzufügen. Und die Methode erwartet ausschließlich einen Dateinamen als
Parameter.
Der umgekehrte Weg, das Auslesen der Bilder über API aus dem Dokument geht -
zumindest in W2007 über die Methode Range.EnhMetaFileBits.

Ich muss auch Logos aus DBs in automatisierte Word-Dokumente einfügen und
mache das bislang genauso, wie du.

Ciao, Sascha

Ähnliche fragen