代码之家  ›  专栏  ›  技术社区  ›  RiddlerDev

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

  •  1
  • RiddlerDev  · 技术社区  · 16 年前

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

    2 回复  |  直到 11 年前
        1
  •  2
  •   Dirk Vollmar    16 年前

    在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

    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
    

    此代码可以作为您自己函数的基础(尽管它看起来与上面的示例略有不同,但效果相同)。

        2
  •  0
  •   SLaks    16 年前

    Range range.Font.Size