我们正在使用VB6和Word.Basic对象来创建文档。文本插入各种书签。我们的最新要求要求我们增加给定插入的字体大小。我们目前正在通过将字体大小设置为12而不是通常存在的8来实现这一点,但是从维护的角度来看,我宁愿能够将其设置为说(currentfontsize + 4)...但到目前为止,我有找不到任何方法来获取当前的字体大小。
有没有人有办法做到这一点?
答案 0 :(得分:2)
在VBA中设置书签的字体大小是直截了当的:
Dim doc As Document
Const MultiSelection As Long = 9999999
Set doc = Application.ActiveDocument
If doc.Bookmarks.Exists("myBookmark") Then
If doc.Bookmarks("myBookmark").Range.Font.Size = MultiSelection Then
' the range of the bookmark consists of runs with different font sizes
doc.Bookmarks("myBookmark").Range.Font.Size = 12
Else
doc.Bookmarks("myBookmark").Range.Font.Size _
= doc.Bookmarks("myBookmark").Range.Font.Size + 4
End If
End If
如果你想按比例增加字体大小,可能是一个更好的选择,就是使用Font.Grow
,这会将字体大小增加到下一个可用的大小,例如:要从8到12,你必须拨打4次。
If doc.Bookmarks.Exists("myBookmark") Then
For i = 1 To 4
doc.Bookmarks("myBookmark").Range.Font.Grow
Next
End If
如果您不熟悉Word的对象模型,一个技巧就是使用宏记录器。在这种情况下,启动录像机,打开书签对话框,转到书签,然后更改字体大小。默认情况下,录制的操作将作为模块保存在Normal.dot文件中。更改书签字体大小的操作将导致以下录制的宏:
Selection.GoTo What:=wdGoToBookmark, Name:="myBookmark"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
Selection.Font.Size = 12
此代码可以作为您自己的函数的基础(虽然它看起来与上面的示例略有不同,但效果会相同)。
答案 1 :(得分:0)
如果有Range
个对象,您可以查看range.Font.Size
。