2012-07-04 1 views
1

Picture of the documentСоздавать закладки в Word 2010 программным способом, с именем заголовка в качестве имени закладки

мне нужно для создания закладок в 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

Что произойдет, если буфер обмена содержит объект, который не является текстом - например, изображение? Возможно, попробуйте получить текст изображения? Если нет, то что? Какой-то уникальный идентификатор имени закладки? – JohnZaj

+0

Спасибо jJack ..... было полезно .. – Amar

ответ

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() 
... 

Это хороший старт для вас? Существуют и другие способы, которые могут быть более надежными в зависимости от ваших потребностей. Однако это должно служить хорошим доказательством концепции.

 Смежные вопросы

  • Нет связанных вопросов^_^