Einzelnen Beitrag anzeigen

KarstenDdorf

Registriert seit: 25. Dez 2009
3 Beiträge
 
#1

Aufzählung in Word -> Tab Funktioniert nicht....

  Alt 15. Jun 2015, 20:34
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 . 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.');

Geändert von Luckie (15. Jun 2015 um 21:46 Uhr)
  Mit Zitat antworten Zitat