如何通过VBA更改PowerPoint中现有的Tabstop?

时间:2017-11-20 06:58:56

标签: vba character powerpoint-vba tabstop textrange

我有一个VBA代码来调整PowerPoint中的对象大小,包括字体大小,边距和其他所有内容。但我还没有找到更新/更改现有TapStop的解决方案。有一个标尺对象具有不同的级别和默认值。我还仔细检查了带字符的TextRange对象。

有没有更新TabStop尺寸的想法?

以下是TextBox的示例,我想调整大小:

TextBox Example

Shape.textframe.ruler.tabstops.count始终为0,如果我"采取"只是For-Each-Loop的形状。如果我选择手动,它在子菜单TabStops of Paragraph菜单中也是0。 如果我在形状内部单击(闪烁光标)并再次打开TabStops菜单,我会看到一个TabStopPosition。

如何通过VBA访问此信息?

我已经通过Line.Selection尝试了它,没有任何效果。

谢谢!

1 个答案:

答案 0 :(得分:1)

PowerPoint用于每个文本框架只允许一组段落设置(即每个形状)。这在PPT2007中发生了变化;现在每个段落都可以有自己的选项卡和其他设置。跟上这个:

Sub ShowMeTabs()

Dim X As Long
Dim lTabCount As Long

    With ActiveWindow.Selection.ShapeRange(1).TextFrame2.TextRange
        For X = 1 To .Paragraphs.Count
            Debug.Print X
            With .Paragraphs(X).ParagraphFormat
                For lTabCount = 1 To .TabStops.Count
                    Debug.Print .TabStops(lTabCount).Position
                Next    ' Tab
                Debug.Print "Level:" & .IndentLevel & " Position:" & .LeftIndent 'etc

            End With
        Next    ' paragraph x
    End With

End Sub