방법: 문서에서 관리 코드 확장명 제거How to: Remove managed code extensions from documents

Microsoft Office Word 또는 Microsoft Office Excel에 대 한 문서 수준 사용자 지정의 일부인 문서 또는 통합 문서에서 프로그래밍 방식으로 사용자 지정 어셈블리를 제거할 수 있습니다.You can programmatically remove the customization assembly from a document or workbook that is part of a document-level customization for Microsoft Office Word or Microsoft Office Excel. 그러면 사용자가 문서를 열고 내용을 볼 수 있지만 문서에 추가 하는 사용자 지정 UI (사용자 인터페이스)는 표시 되지 않으며 코드가 실행 되지 않습니다.Users can then open the documents and view the contents, but any custom user interface (UI) you add to the documents will not appear, and your code will not run.

**** 적용 대상-: 이 항목의 정보는 Excel 및 Word의 문서 수준 프로젝트에 적용됩니다.Applies to: The information in this topic applies to document-level projects for Excel and Word. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조 하세요.For more information, see Features available by Office application and project type.

에서 제공 하는 메서드 중 하나를 사용 하 여 사용자 지정 어셈블리를 제거할 수 있습니다 RemoveCustomization Microsoft Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime .You can remove the customization assembly by using one of the RemoveCustomization methods provided by the Microsoft Visual Studio Tools for Office RuntimeVisual Studio Tools for Office runtime. 런타임에 사용자 지정을 제거할지, 즉 Word 문서 또는 Excel 통합 문서가 열려 있는 동안 사용자 지정에서 코드를 실행 하 여 사용자 지정을 제거할지, 아니면 닫혀 있는 문서 또는 Microsoft Office 설치 되지 않은 서버에 있는 문서에서 사용자 지정을 제거할지를 결정 합니다.Which method you use depends on whether you want to remove the customization at run time (that is, by running code in the customization while the Word document or Excel workbook is open), or if you want to remove the customization from a closed document or a document that is on a server that does not have Microsoft Office installed.

런타임에 사용자 지정 어셈블리를 제거 하려면To remove the customization assembly at run time

  1. 사용자 지정 코드에서 RemoveCustomization 메서드 (Word의 경우) 또는 RemoveCustomization 메서드 (Excel의 경우)를 호출 합니다.In your customization code, call the RemoveCustomization method (for Word) or the RemoveCustomization method (for Excel). 이 메서드는 사용자 지정이 더 이상 필요 하지 않은 경우에만 호출 해야 합니다.This method should be called only after the customization is no longer needed.

    코드에서이 메서드를 호출 하는 위치는 사용자 지정이 사용 되는 방식에 따라 달라 집니다.Where you call this method in your code depends on how your customization is used. 예를 들어 고객이 사용자 지정 기능을 사용 하는 경우 사용자 지정이 아닌 문서 자체에만 필요한 다른 클라이언트에 문서를 보낼 준비가 될 때까지 사용자 지정 기능을 사용 하는 경우 고객이 해당 기능을 클릭할 때를 호출 하는 UI를 제공할 수 있습니다 RemoveCustomization .For example, if customers use your customization's features until they are ready to send the document to other clients that only need to the document itself (not the customization), you can provide some UI that calls RemoveCustomization when the customer clicks it. 또는 사용자 지정이 처음 열 때 데이터로 문서를 채우면 사용자 지정에서 고객이 직접 액세스 하는 다른 기능을 제공 하지 않는 경우 사용자 지정이 문서 초기화를 완료 하는 즉시 RemoveCustomization을 호출할 수 있습니다.Alternatively, if your customization populates the document with data when it is first opened, but the customization doesn't provide any other features that are accessed directly by customers, then you can call RemoveCustomization as soon as your customization finishes initializing the document.

닫힌 문서 또는 서버의 문서에서 사용자 지정 어셈블리를 제거 하려면To remove the customization assembly from a closed document or a document on a server

  1. 콘솔 응용 프로그램 또는 Windows Forms 프로젝트와 같이 Microsoft Office 필요 없는 프로젝트에서 Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll 어셈블리에 대 한 참조를 추가 합니다.In a project that does not require Microsoft Office, such as a console application or Windows Forms project, add a reference to the Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll assembly.

  2. 다음 Imports 또는 using 문을 코드 파일의 맨 위에 추가 합니다.Add the following Imports or using statement to the top of your code file.

    using Microsoft.VisualStudio.Tools.Applications;
    
    Imports Microsoft.VisualStudio.Tools.Applications
    
  3. RemoveCustomization클래스의 정적 메서드를 호출 ServerDocument 하 고 매개 변수에 대 한 솔루션 문서 경로를 지정 합니다.Call the static RemoveCustomization method of the ServerDocument class, and specify the solution document path for the parameter.

    다음 코드 예제에서는 데스크톱에 있는 WordDocument1.docx 이라는 문서에서 사용자 지정을 제거 하는 것으로 가정 합니다.The following code example assumes that you are removing the customization from a document named WordDocument1.docx that is on the desktop.

    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);
    }
    
    Dim documentPath As String = System.Environment.GetFolderPath( _
        Environment.SpecialFolder.Desktop) & "\WordDocument1.docx"
    Dim runtimeVersion As Integer = 0
    
    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            ServerDocument.RemoveCustomization(documentPath)
            System.Windows.Forms.MessageBox.Show("The customization has been removed.")
        End If
    Catch ex As FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As IOException
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.")
    Catch ex As InvalidOperationException
        System.Windows.Forms.MessageBox.Show("The customization could not be removed." & _
            vbLf & ex.Message)
    End Try
    
  4. 프로젝트를 빌드하고 사용자 지정을 제거 하려는 컴퓨터에서 응용 프로그램을 실행 합니다.Build the project and run the application on the computer where you want to remove the customization. 컴퓨터에 Visual Studio 2010 Tools for Office runtime이 설치 되어 있어야 합니다.The computer must have the Visual Studio 2010 Tools for Office runtime installed.

참고 항목See also