如何在书签中找到当前的字体大小?

时间:2010-01-07 21:52:24

标签: vb6 ms-word

我们正在使用VB6和Word.Basic对象来创建文档。文本插入各种书签​​。我们的最新要求要求我们增加给定插入的字体大小。我们目前正在通过将字体大小设置为12而不是通常存在的8来实现这一点,但是从维护的角度来看,我宁愿能够将其设置为说(currentfontsize + 4)...但到目前为止,我有找不到任何方法来获取当前的字体大小。

有没有人有办法做到这一点?

2 个答案:

答案 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