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


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

Вы можете программно удалить сборку настройки из документа или книги, которая является частью настройки на уровне документа для Microsoft Office Word или Microsoft Office Excel. Затем пользователи могут открыть документы и просмотреть содержимое, но любой пользовательский интерфейс, добавленный в документы, не появится, и код не будет выполняться.

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

Сборку настройки можно удалить с помощью одного из RemoveCustomization методов, предоставляемых средой выполнения набор средств Visual Studio для Office. Используемый метод зависит от того, нужно ли удалить настройку во время выполнения (т. е. путем выполнения кода во время настройки во время открытия документа Word или книги Excel) или удаления настройки из закрытого документа или документа, который находится на сервере, на котором не установлено Microsoft Office.

Удаление сборки настройки во время выполнения

  1. В коде RemoveCustomization настройки вызовите метод (для Word) или RemoveCustomization метод (для Excel). Этот метод должен вызываться только после того, как настройка больше не требуется.

    При вызове этого метода в коде зависит от того, как используется настройка. Например, если клиенты используют функции настройки до тех пор, пока они не будут готовы отправить документ другим клиентам, которым требуется только сам документ (а не настройка), можно предоставить какой-то пользовательский интерфейс, вызывающий RemoveCustomization , когда клиент щелкает его. Кроме того, если настройка заполняет документ данными при первом открытии, но настройка не предоставляет другие функции, к которым обращаются непосредственно клиенты, можно вызвать RemoveCustomization, как только настройка завершит инициализацию документа.

Удаление сборки настройки из закрытого документа или документа на сервере

  1. В проекте, который не требует Microsoft Office, например консольное приложение или проект Windows Forms, добавьте ссылку на сборку Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll .

  2. Добавьте следующую инструкцию Import или using в начало файла кода.

    using Microsoft.VisualStudio.Tools.Applications;
    
  3. Вызовите статический RemoveCustomization метод ServerDocument класса и укажите путь документа решения для параметра.

    В следующем примере кода предполагается, что вы удаляете настройку из документа с именем WordDocument1.docx , который находится на рабочем столе.

    string documentPath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx";
    int runtimeVersion = 0;
    
    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
    
        if (runtimeVersion == 3)
        {
            ServerDocument.RemoveCustomization(documentPath);
            System.Windows.Forms.MessageBox.Show("The customization has been removed.");
        }
    }
    catch (FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (IOException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.");
    }
    catch (InvalidOperationException ex)
    {
        System.Windows.Forms.MessageBox.Show("The customization could not be removed.\n" +
            ex.Message);
    }
    
  4. Создайте проект и запустите приложение на компьютере, где нужно удалить настройку. Компьютер должен установить средства Visual Studio 2010 для среды выполнения Office.