有没有一种简单的方法可以将VBA中的Word / Excel等中的字体大小减少1步?
因此,假设我的字体大小为48,是否可以按照标准Word 2007字体组中的“字体”下拉菜单轻松地将其减小为36,而不是将字体大小减小12-我将不知道下一个字体大小下来是...
因此,与其通过float显式设置字体大小:
MyText.Font.Size = 36;
我可以做点什么:
MyText.Font.Size -= Reduce by 1 step;.... forgive the pseudo code!
最佳答案
对于Excel,可以选中“格式”工具栏上的“字体大小”组合框。那是2003年的资料,我认为它在2007年及以后仍然可以使用,但是我没有可供测试的资料。
Sub FontShrink(rng As Range)
Dim i As Long
Dim ctl As CommandBarComboBox
Set ctl = Application.CommandBars("Formatting").Controls("Font Size:")
If rng.Font.Size > CDbl(ctl.List(ctl.ListCount)) Then
'if it's bigger than the biggest, make it the biggest
rng.Font.Size = ctl.List(ctl.ListCount)
Else
For i = ctl.ListCount To 2 Step -1
If rng.Font.Size > CDbl(ctl.List(i)) Then
rng.Font.Size = CDbl(ctl.List(i))
Exit For
ElseIf rng.Font.Size = CDbl(ctl.List(i)) Then
rng.Font.Size = CDbl(ctl.List(i - 1))
Exit For
End If
Next i
End If
End Sub