0

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

有什么想法可以更新 TabStop 大小吗?

这是一个文本框的示例,我想调整大小:

文本框示例

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

如何通过 VBA 访问此信息?

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

谢谢!

4

1 回答 1

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
于 2017-11-20T15:53:03.987 回答