【发布时间】:2015-09-29 18:15:50
【问题描述】:
在 PowerPoint 中,如果我选择了多种大小的文本,我可以点击“增大字体大小”或“减小字体大小”让每个 TextRange 增大/缩小一个“步长”:
我几乎有一个手动的解决方案如下:
Sub GrowText(ByRef t_range as TextRange)
Dim sub_range as TextRange
For Each sub_range in SplitBySizes(t_range)
sub_range.Font.size = NextSize(sub_range.Font.size)
Next sub_range
End Sub
NextSize 函数使用静态数组(8, 9, 10, 10.5, 11, 12, 14, 16, 18, 20, 24, 28, 32, 26, 40, 44, 48, 54, 60, 66, 72, 80, 88, 96) 来查找下一个最大的字体大小,我知道如何实现它。我不知道该怎么做是实现SplitBySizes,它应该返回一个Array 的TextRange 对象,其文本大小相同。有没有办法做到这一点而不逐个字符循环?我最终会将此代码移动到 COM 应用程序中。
【问题讨论】:
标签: vba com powerpoint textrange