-->

产生在Word 2010中编程的书签,与头名作为书签名称(Generate bookmarks in

2019-09-19 02:52发布

我需要生成Word 2010中编程的书签,与头名作为书签名称。

我有以下的代码,这使得书签的词,但书签名称保持相同的字符串Heading 1只适用于名义变量:

Sub bookmarking()
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:=" Heading 1"
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
End Sub

取而代之的是的Heading 1的名义变量,我想从剪贴板中的内容。 请帮我更换Heading 1与剪贴板中的内容。

Answer 1:

使用DataObjectMicrosoft Forms 2.0 Object Library

Private Function GetClipboardData()
    Dim objDataObject As MSForms.DataObject ''need to add reference in Tools |References
    Set objDataObject = New MSForms.DataObject

    objDataObject.GetFromClipboard
    On Error Resume Next
    GetClipboardData = objDataObject.GetText
    If Err.Number = -2147221404 Then
       MsgBox "Error: current clipboard data is either empty or is not text. Clibpoard must contain text."
    End If
End Function

然后,备份你的主代码,具有书签名称是这个剪贴板数据:

...
.Add Range:=Selection.Range, Name:=GetClipboardData()
...

这是一个良好的开端吗? 有根据您的需要可能是更稳健的其他方式。 然而,这应该成为很好的证明了概念。



文章来源: Generate bookmarks in Word 2010 programmatically, with the header name as the bookmark name