Thema Datum  Von Nutzer Rating
Antwort
24.07.2023 10:21:31 Paul
Solved
24.07.2023 15:01:17 Gast48335
Solved
29.07.2023 08:12:47 potter
NotSolved
29.07.2023 12:53:14 Gast23816
NotSolved
04.11.2023 08:03:42 Tommy
NotSolved
16.01.2024 10:38:57 Gast11999
NotSolved
Rot Nummerierte Liste
19.10.2026 23:51:22 xlKing
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
19.10.2026 23:51:22
Views:
2
Rating: Antwort:
  Ja
Thema:
Nummerierte Liste

Hallo,

wer auch immer diesen Thread nach oben geholt hat. Da er nach 3 Jahren noch nicht wirklich gelöst ist, möchte ich einen Codevorschlag unterbreiten:

Sub Liste_Erzeugen()

Dim mylist As ListTemplate
Dim n As Long

n = 25 'Anzahl Listeinträge mit je einem Subeintrag

Set mylist = ActiveDocument.ListTemplates.Add(True)
With mylist.ListLevels(1)
  .NumberStyle = wdListNumberStyleArabic
  .NumberFormat = "(%1)"
  .NumberPosition = CentimetersToPoints(0)
  .TrailingCharacter = wdTrailingTab
  .Alignment = wdListLevelAlignLeft
  .TextPosition = CentimetersToPoints(0.63)
  .TabPosition = wdUndefined
  .ResetOnHigher = 0
  .StartAt = 1
End With
With mylist.ListLevels(2)
  .NumberFormat = ChrW(61623)
  .TrailingCharacter = wdTrailingTab
  .NumberStyle = wdListNumberStyleBullet
  .NumberPosition = CentimetersToPoints(0.63)
  .Alignment = wdListLevelAlignLeft
  .TextPosition = CentimetersToPoints(1.27)
  .TabPosition = wdUndefined
  .ResetOnHigher = 1
  .StartAt = 1
  .Font.Name = "Symbol"
End With

'evtl. weitere Definitionen für level 3 - 9 nach gleichem Schema

Selection.Range.ListFormat.ApplyListTemplate ListTemplate:=mylist

For i = 1 To n
  Selection.TypeText Text:="Element " & i
  Selection.TypeParagraph
  Selection.Range.ListFormat.ListIndent
  Selection.TypeText Text:="Unterpunkt " & i
  If i < n Then
    Selection.TypeParagraph
    Selection.Range.ListFormat.ListOutdent
  End If
Next i

End Sub

Bei diesem Code wird mit jedem Ausführen ein neues Template angelegt. sollt der Code im selben template mehrfach ausgeführt werden, empfehle ich, dem Befehl ActiveDocument.ListTemplates.Add(True) im zweiten Parameter einen Namen mitzugeben. Also z.b. ActiveDocument.ListTemplates.Add(True, "meineListe") und nur einmalig auszuführen. Bei späteren Ausführungen kann dann auf die Listlevels-Definitionen verzichtet werden indem man erst ab Selection.Range.ListFormat.ApplyListTemplate ActiveDocument.ListTemplates("meineListe") ausführt. Für alle weiteren Einstellungen sollte der TE selbst imstande sein.

Gruß Mr. K.

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
24.07.2023 10:21:31 Paul
Solved
24.07.2023 15:01:17 Gast48335
Solved
29.07.2023 08:12:47 potter
NotSolved
29.07.2023 12:53:14 Gast23816
NotSolved
04.11.2023 08:03:42 Tommy
NotSolved
16.01.2024 10:38:57 Gast11999
NotSolved
Rot Nummerierte Liste
19.10.2026 23:51:22 xlKing
NotSolved