我需要以编程方式在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
。
答案 0 :(得分:1)
使用DataObject
中的Microsoft 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()
...
这对你来说是一个好的开始吗?根据您的需求,还有其他方法可能更强大。然而,这应该是一个很好的概念证明。