Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Worddocument in Delphi mit Text füllen und formatieren (https://www.delphipraxis.net/136482-worddocument-delphi-mit-text-fuellen-und-formatieren.html)

BAMatze 1. Jul 2009 12:46


Worddocument in Delphi mit Text füllen und formatieren
 
Hallo und guten Tag an alle DP´ler,

Ich arbeite derzeit daran ein automatisch erstelltes Worddocument mit Delphi zu erstellen und habe hier auch einige gute Beispiele gefunden (Bsp1, Bsp2, Bsp3, ...)

Allerdings bleiben für mich noch einige Fragen offen, bei denen ich noch nichts gefunden hab (z.B. Seitenzahlen automatisch in die Fusszeile schreiben, ...)

Kennt jemand da eventuell eine gute Seite, mit Quellcode oder einer Art Dokumentation?

Vielen Dank
BAMatze

Sherlock 1. Jul 2009 12:58

Re: Worddocument in Delphi mit Text füllen und formatieren
 
Eigentlich ist die VBA-Hilfe zu Word die beste Quelle.

Sherlock

mkinzler 1. Jul 2009 13:18

Re: Worddocument in Delphi mit Text füllen und formatieren
 
Oder als Makro aufzeichnen lassen

BAMatze 1. Jul 2009 13:34

Re: Worddocument in Delphi mit Text füllen und formatieren
 
Also hab jetzt eigentlich 2 gute Seiten gefunden (euch sind sie sicherlich schon bekannt) mit denen ich zumindest den Problemen näher komme. Allerdings glaube ich verstehe ich das noch nicht 100%.

Vieleicht könntet ihr mir am Bsp der Seitenzahl mal helfen. Hier zumindest meine Quellen erstmal:
1.) Office-Lösungen
2.) MSDN (Standard)

Ok ich verstehe das wie folgt, um eine Seitenzahl einzufügen muss ich folgendes schreiben:
Delphi-Quellcode:
vbTemp := true;
FWordApplication.ActiveDocument.ComputeStatistics(wdStatisticPages,vbTemp); //vb ist OLEVariant
habe vbTemp auf true gesetzt, weil ich das durch MSDN so interpretiert habe
Zitat:

expression.ComputeStatistics(Statistic, IncludeFootnotesAndEndnotes)

expression Required. An expression that returns one of the above objects.
WdStatistic
WdStatistic can be one of these WdStatistic constants.
wdStatisticCharacters
wdStatisticCharactersWithSpaces
wdStatisticFarEastCharacters
wdStatisticLines
wdStatisticPages
wdStatisticParagraphs
wdStatisticWords

IncludeFootnotesAndEndnotes Optional Variant. True to include footnotes and endnotes when computing statistics. If this argument is omitted, the default value is False.
Allerdings funktioniert das noch nicht ganz. Weiß jemand eventuell, wo der Fehler hier liegt?

Vielen Dank
BAMatze
Edit1: Hier noch der Quellcode, den ich insgesamt geschrieben hab:
Delphi-Quellcode:
var vbTemp: OleVariant;
begin
  vbTemp := true;
  FWordApplication.ActiveWindow.ActivePane.View.SeekView:=wdSeekCurrentPageFooter; //Wechsel in Fusszeile
  FWordApplication.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter; // Text zentriert ausgeben
  FWordApplication.ActiveDocument.ComputeStatistics(wdStatisticPages,vbTemp); // gemäß Office-Lösungen
  //FWordApplication.ActiveDocument.ComputeStatistics(wdStatisticPages,nil); // war ein weiterer Versuch ohne Ergebnis
  //FWordApplication.ActiveDocument.ComputeStatistics(wdStatisticPages,emptyParam); // war ein weiterer Versuch ohne Ergebnis
  FWordApplication.ActiveWindow.ActivePane.View.SeekView:=wdSeekMainDocument; // ins Hauptdokument wechseln
end;
Es wird aber keine Seitenzahl angezeigt.

toms 1. Jul 2009 13:46

Re: Worddocument in Delphi mit Text füllen und formatieren
 
ungetestet:

Delphi-Quellcode:
 var
   fpage,pagea: OleVariant;
 begin
  fpage := True;
  pagea := wdAlignPageNumberCenter;
  Wordapplication1.ActiveDocument.sections.item(1).Footers.item(1).PageNumbers.Add(pagea, fpage);
 end;

BAMatze 1. Jul 2009 13:54

Re: Worddocument in Delphi mit Text füllen und formatieren
 
Zitat:

Zitat von toms
ungetestet:

Delphi-Quellcode:
 var
   fpage,pagea: OleVariant;
 begin
  fpage := True;
  pagea := wdAlignPageNumberCenter;
  Wordapplication1.ActiveDocument.sections.item(1).Footers.item(1).PageNumbers.Add(pagea, fpage);
 end;

Ja danke so funktioniert es. Wo hast du das her, wenn ich fragen darf, also hast du dazu eventeuell eine Website oder so??

BAMatze

toms 1. Jul 2009 14:01

Re: Worddocument in Delphi mit Text füllen und formatieren
 
Gegoogelt: Bei Google suchendelphi ActiveDocument PageNumbers Add


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 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