1
我們正在嘗試創建一個PowerPoint幻燈片程序。我們可以在單個級別上獲得子彈,但是使用製表符和行返回不適用於嵌套枚舉。在PowerPoint 2007中創建嵌套的項目符號列表
現在我們得到:
- 文本1
- subtext1
- subtext2
- 文本2
一第二,我們要的是:
- 文本1
- subtext1
- subtext2
- 文本2
有沒有辦法控制這些使用C#或VBA?
我們正在嘗試創建一個PowerPoint幻燈片程序。我們可以在單個級別上獲得子彈,但是使用製表符和行返回不適用於嵌套枚舉。在PowerPoint 2007中創建嵌套的項目符號列表
現在我們得到:
一第二,我們要的是:
有沒有辦法控制這些使用C#或VBA?
首先,請參考的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,但你的里程可能會有所不同)。
謝謝,它的作品 – 2010-05-21 19:35:00