Erstellen von verschachtelten Aufzählungen in Powerpoint 2007
-
03-10-2019 - |
Frage
Wir versuchen programmaticaly eine Powerpoint-Folie zu erstellen. Wir können Kugeln auf einer einzigen Ebene erhalten, aber mit Tabulatoren und Zeilenumbrüchen spielen funktioniert nicht für verschachtelte Aufzählungen.
Für uns jetzt bekommen:
- Text 1
- subtext1
- subtext2
- Text 2
Und was wir wollen, ist:
- Text 1
- subtext1
- subtext2
- Text 2
Gibt es eine Möglichkeit, diese mit C # oder VBA zu kontrollieren?
Lösung
Zunächst erhält einen Verweis auf die Paragraphs
der TextRange2
, da jedes Aufzählungszeichen ist ein Absatz (wirklich ein TextRange2
).
Dim pres As Presentation
Set pres = Application.ActivePresentation
Dim slide As slide
Set slide = pres.Slides(2)
Dim shapes As shapes
Set shapes = slide.shapes
Dim textShape As Shape
Set textShape = shapes(2)
Dim textFrame As TextFrame2
Set textFrame = textShape.TextFrame2
Dim textRng As TextRange2
Set textRng = textFrame.textRange
Dim p As TextRange2
Set p = textRng.Paragraphs
SetIndent 1, p.Item(1)
SetIndent 2, p.Item(2)
SetIndent 2, p.Item(3)
SetIndent 1, p.Item(4)
Die letzten vier Zeilen rufen eine Funktion, die die Logik der Einstellung der indent „Ebene“, kapselt, die den Stil der Aufzählungszeichen und Text betrifft, und die tatsächlichen Einzug der Kugeln und Text:
Private Function SetIndent(ByVal level As Integer, ByRef p As TextRange2)
p.ParagraphFormat.IndentLevel = level
p.ParagraphFormat.FirstLineIndent = 40
p.ParagraphFormat.LeftIndent = level * 40
End Function
Sie könnten sicherlich diese Refactoring Ihre Bedürfnisse zu erfüllen -. Wie den Einzug Faktor vorbei (ich es als 40 fest einprogrammiert, aber die Leistung kann variieren)