17. März 2010 00:01
Item.FINDFIRST;
TemplateName := 'C:\Item.dot';
IF ISCLEAR(wdApp) THEN
IF NOT CREATE(wdApp, FALSE) THEN
ERROR('Konnte keine Word-Instanz erstellen!');
IF NOT EXISTS(TemplateName) THEN
ERROR('Wordvorlage %1 existiert nicht!', TemplateName);
wdDoc := wdApp.Documents.Add(TemplateName);
wdBookMarks := wdDoc.Bookmarks;
NameBookmark := 'BM01';
IF wdBookMarks.Exists(NameBookmark) THEN BEGIN
wdBookMark := wdBookMarks.Item(NameBookmark);
wdRange := wdBookMark.Range;
wdRange.Text(Item.Description);
wdRange.Bold(1);
END;
Path := 'C:\' + Item."No.";
wdDoc.SaveAs(Path);
wdApp.Visible(TRUE);
wdApp.ScreenUpdating(TRUE);
wdApp.Activate;
CLEAR(wdDoc);
CLEAR(wdApp);
CLEAR(wdRange);
CLEAR(wdBookMarks);
CLEAR(wdBookMark);
Name DataType Subtype Length
wdApp Automation 'Microsoft Word 11.0 Object Library'.Application
wdDoc Automation 'Microsoft Word 11.0 Object Library'.Document
wdRange Automation 'Microsoft Word 11.0 Object Library'.Range
wdBookMarks Automation 'Microsoft Word 11.0 Object Library'.Bookmarks
wdBookMark Automation 'Microsoft Word 11.0 Object Library'.Bookmark
Item Record Item
TemplateName Text 30
NameBookmark Text 30
Path Text 30
17. März 2010 00:09
17. März 2010 10:01
Path := 'C:\' + Item."No.";
wdDoc.SaveAs(Path);
17. März 2010 15:13
wdDoc := wdApp.Documents.Add(TemplateName);
...
repat
// Erzeuge eine neue Seite auf Basis der Vorlage
until
...
Path := 'C:\' + Item."No.";
wdDoc.SaveAs(Path);
17. März 2010 17:38
Deurges hat geschrieben:Ich benötige aber ein Dokument, und für jeden Datensatz eine neue Seite.
19. März 2010 20:17
vsnase hat geschrieben:Deurges hat geschrieben:Ich benötige aber ein Dokument, und für jeden Datensatz eine neue Seite.
Hast Du schon mal nach Seriendruck oder Serienbrief gesucht?
Volker
20. März 2010 15:01
22. März 2010 11:11
vsnase hat geschrieben:Hallo Mike,
kannst Du mal Deinen Brief näher beschreiben? Was soll drin stehen? Von wo kommen die Daten? Wo sind die Bilder? Wie wird der Brief gestartet?
Volker
IF Item.FINDFIRST THEN BEGIN
i := 0;
TemplateName := 'C:\Item.dot';
IF ISCLEAR(wdApp) THEN
IF NOT CREATE(wdApp, FALSE) THEN
ERROR('Konnte keine Word-Instanz erstellen!');
IF NOT EXISTS(TemplateName) THEN
ERROR('Wordvorlage %1 existiert nicht!', TemplateName);
REPEAT
i += 1;
if i > 1 then
// Ab dem zweiten Datensatz, erstelle eine neue Seite auf Basis der Vorlage
?????
wdDoc := wdApp.Documents.Add(TemplateName);
wdBookMarks := wdDoc.Bookmarks;
NameBookmark := 'BM01';
IF wdBookMarks.Exists(NameBookmark) THEN BEGIN
wdBookMark := wdBookMarks.Item(NameBookmark);
wdRange := wdBookMark.Range;
wdRange.Text(Item.Description);
wdRange.Bold(1);
END;
UNTIL Item.NEXT = 0;
Path := 'C:\' + Item."No.";
wdDoc.SaveAs(Path);
wdApp.Visible(TRUE);
wdApp.ScreenUpdating(TRUE);
wdApp.Activate;
CLEAR(wdDoc);
CLEAR(wdApp);
CLEAR(wdRange);
CLEAR(wdBookMarks);
CLEAR(wdBookMark);
END;
23. März 2010 09:24