Создание вложенного списка пули в PowerPoint 2007
-
03-10-2019 - |
Вопрос
Мы пытаемся создать PowerPoint Slide Prontrammathation. Мы можем получить пуль на одном уровне, но игра с вкладками и возвратом линии не работает для вложенных перечислений.
На данный момент мы получаем:
- текст 1
- подтекст1.
- подтекст2.
- Текст 2.
И что мы хотим:
- текст 1
- подтекст1.
- подтекст2.
- Текст 2.
Есть ли способ контролировать их с помощью C # или VBA?
Решение
Во-первых, получите ссылку на Paragraphs
принадлежащий TextRange2
, как каждый маркированный предмет - это абзац (действительно 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)
Последние четыре строки вызывают функцию, которая инкапсулирует логику установки отступа «Уровень», который влияет на стиль пуль и текста, а также фактический отступ пуль и текста:
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
Вы, безусловно, можете реформировать это, чтобы удовлетворить ваши потребности - как пропустить фактор отступа (я жестко определил его как 40, но ваш пробег может варьироваться).