在PowerPoint 2007中创建嵌套项目符号列表

时间:2010-05-19 20:46:28

标签: c# powerpoint powerpoint-vba

我们正在努力创建一个PowerPoint幻灯片程序。我们可以在单个级别上获取项目符号,但使用选项卡和行返回不适用于嵌套枚举。

现在我们得到:

  • text 1
  • subtext1
  • subtext2
  • text 2

我们想要的是:

  • 文字1
    • subtext1
    • subtext2
  • text 2

有没有办法使用C#或VBA来控制它们?

1 个答案:

答案 0 :(得分:3)

首先,获取对Paragraphs的{​​{1}}的引用,因为每个项目符号项都是段落(实际上是TextRange2)。

TextRange2

最后四行调用一个函数,该函数封装了设置缩进“level”的逻辑,这会影响项目符号和文本的样式,以及项目符号和文本的实际缩进:

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)

你当然可以重构这个以满足你的需求 - 比如传递缩进因子(我把它硬编码为40,但你的里程可能会有所不同)。