Поделиться через


Добавление элементов управления закладки в документы Word

В проектах на уровне документа элементы управления Bookmark можно добавлять в документ во время разработки или во время выполнения. В проектах надстроек VSTO вы можете добавлять элементы управления Bookmark в любой открытый документ во время выполнения.

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

В этом разделе описываются следующие задачи.

Добавление элементов управления закладки во время разработки

Вы можете добавить элементы управления Bookmark в документ Word в проекте на уровне документа во время разработки несколькими способами.

  • Из панели элементовVisual Studio.

    Вы можете перетащить элемент управления Bookmark из области Панель элементов в документ. Этот способ удобен, если вы уже используете панель элементов для добавления элементов управления Windows Forms в документ.

  • Из приложения Word.

    Вы можете добавить элемент управления Bookmark в документ так же, как и закладку. Преимущество этого способа заключается в том, что вы можете задать имя элемента управления во время его создания.

  • Из окна Источники данных .

    Вы можете перетащить элемент управления Bookmark из окна Источники данных . Это удобно, если нужно одновременно привязать элемент управления к данным. Можно добавить элемент управления ведущего приложения так же, как вы добавляете элемент управления Windows Form из окна Источники данных . Дополнительные сведения см. в разделе "Привязка данных" и Windows Forms.

    Примечание.

    Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Добавление элемента управления Bookmark в документ из панели элементов

  1. Откройте панель элементов и щелкните вкладку Элементы управления Word .

  2. Перетащите элемент управления Bookmark в документ.

    Отображается диалоговое окно Добавление закладки .

  3. Выберите текст или другие элементы, которые необходимо включить в закладку.

  4. Щелкните OK.

    Если вы не хотите использовать имя закладки по умолчанию, измените его в окне Свойства .

Добавление элемента управления Bookmark в документ из Word

  1. В документе, размещенном в конструкторе Visual Studio, поместите курсор, в который нужно добавить закладку, или выделите текст, который нужно заключить закладку.

  2. На вкладке Вставка ленты в группе Ссылки нажмите кнопку Закладка .

  3. В диалоговом окне Закладка введите имя новой закладки и нажмите кнопку Добавить.

Добавление элементов управления закладками во время выполнения в проекте уровня документа

Элементы управления Bookmark можно добавить в документ программным образом во время выполнения с помощью методов свойства Controls класса ThisDocument в проекте. Существуют две перегрузки метода, которые можно использовать для добавления элемента управления Bookmark следующими способами:

  • добавление Bookmark в указанный диапазон;

  • добавление Bookmark , основанного на собственной закладке, в документ (т. е. Bookmark).

    При закрытии документа динамически созданные элементы управления Bookmark в нем не сохраняются. Однако собственный объект Bookmark остается в документе. Можно повторно создать Bookmark , основанный на собственной закладке, при очередном открытии документа. Дополнительные сведения см. в разделе "Добавление элементов управления в документы Office во время выполнения".

Добавление элемента управления Bookmark в документ программными средствами

  1. Вставьте следующий код в обработчике событий ThisDocument_Startup в проекте, чтобы добавить элемент управления Bookmark в первый абзац документа.

    Microsoft.Office.Tools.Word.Bookmark firstParagraph;
    firstParagraph = this.Controls.AddBookmark(this.Paragraphs[1].Range,
        "FirstParagraph");
    

    Примечание.

    Если необходимо создать элемент управления Bookmark на основе существующего Bookmark, используйте метод AddBookmark и передайте его в существующий Bookmark.

Добавление элементов управления закладками во время выполнения в проекте надстройки VSTO

Вы можете добавить элементы управления Bookmark программным способом в любой открытый документ во время выполнения с помощью надстройки VSTO. Для этого следует создать ведущий элемент Document , основанный на открытом документе, а затем использовать методы свойства Controls этого ведущего элемента. Существуют две перегрузки метода, которые можно использовать для добавления элемента управления Bookmark следующими способами:

Добавление элемента управления Bookmark в указанный диапазон

  1. Используйте метод AddBookmark и передайте ему объект Range , в который вы хотите добавить Bookmark.

    Следующий пример кода добавляет новый Bookmark в начало активного документа. Чтобы использовать этот пример, запустите его из обработчика событий ThisAddIn_Startup в проекте надстройки VSTO Word.

    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
    Bookmark firstParagraph = extendedDocument.Controls.AddBookmark(
        extendedDocument.Paragraphs[1].Range, "FirstParagraph");
    

Добавление элемента управления Bookmark, основанного на собственном элементе управления Bookmark

  1. Используйте метод AddBookmark и передайте ему существующий объект Bookmark , который будет использоваться в качестве основы для нового Bookmark.

    В следующем примере кода создается новый объект Bookmark , основанный на первом объекте Bookmark в активном документе. Чтобы использовать этот пример, запустите его из обработчика событий ThisAddIn_Startup в проекте надстройки VSTO Word.

    if (this.Application.ActiveDocument.Bookmarks.Count > 0)
    {
        object index = 1;
        Word.Bookmark firstBookmark = this.Application.ActiveDocument.Bookmarks.get_Item(ref index);
    
    
         Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
        Bookmark vstoBookmark = extendedDocument.Controls.AddBookmark(
                firstBookmark, "VSTOBookmark");
    }