在 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)
来查找下一个最大的字体大小,我知道如何实现它。我不知道该怎么做是 implement SplitBySizes
,它应该返回一个带有相同大小文本Array
的对象。TextRange
有没有办法做到这一点而不逐个字符循环?我最终会将此代码移动到 COM 应用程序中。