![]() |
Word / OLE: Grafik einbinden
Hallo,
ich möchte in ein existierendes Word-Dokument an einer bestimmten Position eine Grafik (JPG-Datei) einbinden. Den Dateinamen (inkl. Pfad) entnehme ich aus meiner Datenbank. Allerdings sind mir die OLE-Befehle dazu vollkommen schleierhaft, die ganzen Beispiele, die ich bisher dazu gefunden habe, zeigen leider nur, wie man Text einfügt und formatiert, leider gibt es nichts zum Thema Grafiken. Ich hab mit dem Makrorekorder von Word mal eins aufgezeichnet (damit ich wenigstens mal die Befehle habe, um sie nachher in Delphi zu verwenden), aber an der entscheidenden Stelle kann ich die Grafik nicht mehr markieren, wenn ebendieser Rekorder läuft, so dass das Makro unvollständig ist. Hier das Makro: Selection.InlineShapes.AddPicture FileName:= _ "C:\Programme\Test\Logos\Logo1.jpg", LinkToFile:=False, SaveWithDocument:= True --->An dieser Stelle ist die Grafik zwar eingefügt, aber nicht ausgewählt, daher schlägt die nächste Anweisung fehl: Selection.InlineShapes(1).ConvertToShape.Select Selection.ShapeRange.IncrementLeft 439.85 Selection.ShapeRange.IncrementTop 34.85 Selection.ShapeRange.ScaleWidth 1.39, msoFalse, msoScaleFromBottomRight Selection.ShapeRange.ScaleHeight 1.39, msoFalse, msoScaleFromTopLeft Hat evtl. jemand eine Idee, wie die Grafik einbinde und verschiebe bzw. die Grafik per Makro auswählen kann oder kennt vielleicht sogar die entsprechenden Delphi-Befehle? Gruß Frank |
Re: Word / OLE: Grafik einbinden
Ungetestet, aber die Methode AddPicture gibt ein Objekt zurück,
mit dem man weiterarbeiten kann/sollte.
Delphi-Quellcode:
var
myshape:OleVariant; myshape := Selection.InlineShapes.AddPicture( FileName:= 'C:\Programme\Test\Logos\Logo1.jpg', LinkToFile:=False, SaveWithDocument:= True); myshape.Select; myshape.AlternativeText := 'mein neues Bildchen'; myshape.width := ... myshape.Height := ... myshape.ScaleHeight := 0.5; |
Re: Word / OLE: Grafik einbinden
So sollte es gehen...
Delphi-Quellcode:
Gruss
Word:=CreateOleObject('word.application');
Word.Visible:=true; Word.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam); Picture:=Word.Selection.InlineShapes.AddPicture( FileName:='Bild.jpg', LinkToFile:=False, SaveWithDocument:= true ); Picture.ConvertToShape.Select; Word.Selection.ShapeRange.WrapFormat.Type:= 3; Word.Selection.ShapeRange.IncrementLeft(126.35); Word.Selection.ShapeRange.IncrementTop(0.35); Thorsten |
Re: Word / OLE: Grafik einbinden
Hallo,
will auch aus einer DB Bilder in ein Worddokument laden. Dies klappt auch, aber leider läd es alle fünf Bilder übereinander. Ich möchte aber, dass die Bilder alle nach der Reihe untereinander kommen und mittig ausgerichtet sind.
Delphi-Quellcode:
while not ADOFotoSELECT.Eof do begin word.ActiveDocument.Shapes.AddPicture(ADOFotoSELECT.FieldValues['pfad'], True, True, EmptyParam,EmptyParam,250, 50); ADOFotoSELECT.Next; end; Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz