在PowerPoint中,如果我选择了多种尺寸的文本,我可以按“增大字体大小”或“减小字体大小”,以使每个TextRange
增加/步”:模拟PowerPoint中的“增加字体大小”VBA
我几乎有一个手动解决方案如下:
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
,它应该返回一个 TextRange
具有相同大小的文本对象。有没有一种方法做到这一点,而不是逐个字符循环?我最终会将这些代码移到COM应用程序中。在此基础上,而不是