Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Word Automation, Bookmark, mehrfach Paste (https://www.delphipraxis.net/103416-word-automation-bookmark-mehrfach-paste.html)

cltom 15. Nov 2007 14:12


Word Automation, Bookmark, mehrfach Paste
 
Hallo DP,

nachdem ich schon öfters so schnell Hilfe bekommen habe hier, hätte ich wieder eine Frage:

Es sollen in ein Word-Dokument eine Reihe von jpgs via zwischenablage eingefügt werden. Dafür habe ich ein Bookmark gesetzt, an das nun nacheinander alle Bilder kommen sollen.

Delphi-Quellcode:
vBookmark := 'bookmarkname';
R := WordDocument.Bookmarks.Item(vBookmark).Range;
for i:=1 to somecounter do
begin
  R.InsertAfter('image' + #13);
  R.Paste;
  R.InsertAfter('after image' + ' ' + #13);
  R.InsertAfter(inttostr(i) + ' ' + #13);
end;
Das klappt auch. Allerdings nur mit einem Bild, denn die vorhergehenden Bilder werden immer wieder überschrieben. Effektiv überbleibt nur das letzte Bild von somecounter bildern. und die letzten Zeilen (after image und i).

Wenn ich das R.Paste weglasse, dann stimmts, dann kommen alle Texte. es geht aber hauptsächlich um die Bilder.

Offenbar ersetzt R.Paste die gesamte Range, kann das sein? Wie kann ich das verhindern?

danke!
gruß
tom

cltom 15. Nov 2007 14:47

Re: Word Automation, Bookmark, mehrfach Paste
 
nun hab ich die Antwort selber gefunden:

http://msdn2.microsoft.com/de-de/library/microsoft.office.interop.word.range.paste(VS.80).a spx
nebst
http://msdn2.microsoft.com/de-de/library/microsoft.office.interop.word.range.collapse(VS.80 ).aspx

Das wesentliche daraus:

'If you don't want to replace the contents of the range, use the Collapse method before using this method.'


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz