如何通过 VBA 更改 PowerPoint 中现有的 Tabstop?
How to change an existing Tabstop in PowerPoint by VBA?
我有一个 VBA 代码可以调整 PowerPoint 中对象的大小,包括字体大小、边距和其他所有内容。但是我还没有找到 update/change 现有 TapStop 的解决方案。有一个具有不同级别和默认值的标尺对象。我还仔细检查了带有字符的 TextRange 对象。
有更新 TabStop 大小的想法吗?
这是一个文本框的例子,我想调整大小:
TextBox Example
Shape.textframe.ruler.tabstops.count 始终为 0,如果我 "take" 只是 For-Each-Loop 的形状。如果我select它是手动的,它在段落菜单的子菜单TabStops也是0。
如果我在形状内部单击(闪烁的光标)并再次打开 TabStops 菜单,我会看到一个 TabStopPosition。
如何通过 VBA 访问此信息?
我已经在 Line.Selection 之前尝试过了,但没有任何效果。
谢谢!
萌
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
我有一个 VBA 代码可以调整 PowerPoint 中对象的大小,包括字体大小、边距和其他所有内容。但是我还没有找到 update/change 现有 TapStop 的解决方案。有一个具有不同级别和默认值的标尺对象。我还仔细检查了带有字符的 TextRange 对象。
有更新 TabStop 大小的想法吗?
这是一个文本框的例子,我想调整大小:
TextBox Example
Shape.textframe.ruler.tabstops.count 始终为 0,如果我 "take" 只是 For-Each-Loop 的形状。如果我select它是手动的,它在段落菜单的子菜单TabStops也是0。 如果我在形状内部单击(闪烁的光标)并再次打开 TabStops 菜单,我会看到一个 TabStopPosition。
如何通过 VBA 访问此信息?
我已经在 Line.Selection 之前尝试过了,但没有任何效果。
谢谢!
萌
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