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


Практическое руководство. Вложение расширений управляемого кода в документы (система 2007)

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

Версия Microsoft Office

  • Выпуск 2007 системы Microsoft Office

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Настройку Visual Studio Tools for Office можно включать в существующий документ Microsoft Office Word 2007 или в книгу Microsoft Office Excel 2007. Документ или книга могут быть в любом формате, поддерживаемом Visual Studio Tools for Office. Дополнительные сведения см. в разделе Архитектура настроек на уровне документа.

Bb772091.alert_note(ru-ru,VS.90).gifПримечание.

Загрузка настройки прекратится, если в коде ожидаются элементы управления, отсутствующие в указанном документе.

Для включения настройки Visual Studio Tools for Office в документ Word или Excel используется метод AddCustomization класса ServerDocument. Поскольку класс ServerDocument разработан для выполнения на компьютере, на котором не установлен Microsoft Office, этот метод можно использовать в решениях не на основе проектов Visual Studio Tools for Office (таких как консоль или приложение Windows Forms).

Вложение расширений управляемого кода в документ

  1. Создайте новый проект, который не запускает Word или Excel, например приложение консоли или проект Windows Forms.

  2. В этом новом проекте добавьте ссылку на перечисленные ниже сборки.

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

    • Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

  3. Добавьте следующие операторы Imports или using в верхнюю часть файла кода.

    Imports Microsoft.VisualStudio.Tools.Applications
    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications;
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Вызовите статический метод AddCustomization.

    В следующем примере кода используется перегрузка AddCustomization. Эта перегрузка принимает полный путь документа и Uri, задающий расположение манифеста развертывания для настройки, которая включается в документ. В этом примере предполагается, что документ Word с именем ДокументWord1.docx находится на рабочем столе, а манифест развертывания расположен в папке рабочего стола Публикация.

    Dim documentPath As String = System.Environment.GetFolderPath( _
         Environment.SpecialFolder.Desktop) + "\WordDocument1.docx"
    Dim runtimeVersion As Integer = 0
    
    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
    
        ' Make sure that this document does not yet have any Visual Studio Tools 
        ' for Office customizations.
        If runtimeVersion = 0 Then
            Dim deployManifestPath As String = System.Environment.GetFolderPath( _
                Environment.SpecialFolder.Desktop) & "\Publish\WordDocument1.vsto"
            Dim deploymentManifestUri As New Uri(deployManifestPath)
            ServerDocument.AddCustomization(documentPath, deploymentManifestUri)
            System.Windows.Forms.MessageBox.Show("The document was successfully customized.")
        Else
            System.Windows.Forms.MessageBox.Show("The document is already customized.")
        End If
    Catch ex As FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As DocumentNotCustomizedException
        System.Windows.Forms.MessageBox.Show("The document could not be customized." & _
            vbLf & ex.Message)
    End Try
    
    string documentPath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx";
    int runtimeVersion = 0;
    
    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
    
        // Make sure that this document does not yet have any Visual Studio Tools 
        // for Office customizations.
        if (runtimeVersion == 0)
        {
            string deployManifestPath = System.Environment.GetFolderPath(
                Environment.SpecialFolder.Desktop) + @"\Publish\WordDocument1.vsto";
    
            Uri deploymentManifestUri = new Uri(deployManifestPath);
            ServerDocument.AddCustomization(documentPath, deploymentManifestUri);
            System.Windows.Forms.MessageBox.Show("The document was successfully customized.");
        }
        else
        {
            System.Windows.Forms.MessageBox.Show("The document is already customized.");
        }
    }
    catch (FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (DocumentNotCustomizedException ex)
    {
        System.Windows.Forms.MessageBox.Show("The document could not be customized.\n" +
            ex.Message);
    }
    

См. также

Задачи

Практическое руководство. Написание кода, в котором используются обе версии класса ServerDocument

Практическое руководство. Удаление расширений управляемого кода из документов (система 2007)

Практическое руководство. Удаление расширений управляемого кода из документов (система 2003)

Практическое руководство. Вложение расширений управляемого кода в документы (система 2003)

Основные понятия

Управление документами на сервере с помощью класса ServerDocument

Манифесты приложения и развертывания в решениях Office