是否有一种简单的方法可以在VBA中通过1步减少Word / Excel中的字体大小?
因此,如果我的字体大小为48,我可以根据标准Word 2007字体组中的字体下拉菜单将其减少到36,而不是将字体大小减少12 - 我不知道是什么下一个字体大小是......
所以不要通过float显式设置字体大小:
MyText.Font.Size = 36;
我可以做点什么:
MyText.Font.Size -= Reduce by 1 step;.... forgive the pseudo code!
答案 0 :(得分:6)
对于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
答案 1 :(得分:3)
答案 2 :(得分:3)