Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aufzählung in Word -> Tab Funktioniert nicht.... (https://www.delphipraxis.net/185480-aufzaehlung-word-tab-funktioniert-nicht.html)

KarstenDdorf 15. Jun 2015 19:34


Aufzählung in Word -> Tab Funktioniert nicht....
 
Hallo Forum,
ich versuche in Word eine Aufzählung zu erzeugen. Die Formatierung wird auch angenommen. Aber der Tab funktioniert nicht wie gewünscht.
Manuell oder aus VBA heraus kann man nach Punkt 1. einen Zeilenumbruch und dann per Tab Punkt 1.1. erzeugen. Mache ich das aus Delphi heraus wird aber Punkt 2. erzeugt und der Text ist eingerückt :shock:. Manuell bekomme ich das so gar nicht hin.

Bin für jeden Tipp dankbar...

Hier der gesamte Quelcode:

Delphi-Quellcode:
var
  Word, doc, sel, Galleries,
  Gallery, Templates, Template,
  Levels, Level, Afont : OleVariant;
  index, i2: integer;
  nf: String;
begin
  Word := CreateOleObject('Word.Application');
  Word.Visible := True;
  doc := Word.Documents.Add(EmptyParam, EmptyParam);
  sel := Word.Selection;
  //      With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
  //      .NumberFormat = "%1"

  Galleries := word.ListGalleries;
  gallery := Galleries.Item(wdListGalleryType(wdOutlineNumberGallery));
  Template := Gallery.ListTemplates.Item(1);
  Levels := Template.ListLevels;//(6);
  //Level := Levels.Item(1);
  for index := 1 to 8 do begin
      Level := Levels.Item(index);
      nf := '';
      for i2 := 1 to index do
          nf := nf + '%' + inttostr(i2) + '.';
      Level.NumberFormat := nf; //'%1.%2.%3.%4.%5.%6.%7.%8.%9.';
      level.NumberStyle := wdListNumberStyleArabic;
      //level.NumberPosition = CentimetersToPoints(0)
      level.TrailingCharacter := wdTrailingTab;
      //level.TextPosition = CentimetersToPoints(1.02)
      //level.Font...
  end;
  Afont := Level.Font;
  // Change any font properties here
  Level.LinkedStyle := '';
  Template.Name := '';
  sel.Range.ListFormat.ApplyListTemplateWithLevel (
        ListTemplate :=
        //template, // ListGalleries(wdNumberGallery).ListTemplates(1),
        template,
        ContinuePreviousList := False, ApplyTo := wdListApplyToWholeList, DefaultListBehavior:=
        wdWord10ListBehavior);
[COLOR="Blue"] //Hier nun zwei verschiedene Versuche per Tab in der Auflistung zum nächsten unterpunkt zu wechseln.
[/COLOR] Sel.TypeText(Text:= 'Punkt 1.'#13#10#9'Sollte Punkt 1.1. sein ist aber 2.');
  Sel.TypeParagraph;
  Sel.TypeText(chr(9));
  Sel.TypeText('Sollte Punkt 1.1.1. sein ist aber Punkt 3.');

Popov 15. Jun 2015 20:38

AW: Aufzählung in Word -> Tab Funktioniert nicht....
 
Selbst wenn ich helfen könnte, einen unformatierten Code gucke ich mir erst gar nicht an.

Photoner 16. Jun 2015 08:09

AW: Aufzählung in Word -> Tab Funktioniert nicht....
 
Zitat:

Zitat von KarstenDdorf (Beitrag 1305177)


Delphi-Quellcode:
      for i2 := 1 to index do
          nf := nf + '%' + inttostr(i2) + '.';
      Level.NumberFormat := nf; //'%1.%2.%3.%4.%5.%6.%7.%8.%9.';
      level.NumberStyle := wdListNumberStyleArabic;


Gibst du das nicht an dieser Stelle genaus so vor?
Ich hab das nicht compiliert aber aus dem Source lese ich das Listeformat:
1.
2.
3.
usw.


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