Partilhar via


Como: anexar extensões de código gerenciado para documentos

Você pode anexar um assembly de personalização para um documento Microsoft Office Word ou a uma pasta de trabalho existente do Microsoft Office Excel.O documento ou pasta de trabalho podem estar em qualquer formato de arquivo que é suportado por ferramentas dos projetos e de desenvolvimento Microsoft Office no Visual Studio.Para obter mais informações, consulte Arquitetura de personalizações em nível de documento.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para os seguintes aplicativos: Excel 2013 e Excel 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Para anexar uma personalização um documento do word ou o excel, use o método de AddCustomization da classe de ServerDocument .Porque a classe de ServerDocument é projetado para ser executada em um computador que não tenha Microsoft Office instalado, você pode usar esse método em soluções que não estão diretamente relacionados ao desenvolvimento Microsoft Office (como um aplicativo de formulários do windows forms ou console.)

ObservaçãoObservação

A personalização não carregará se o código espera controles que não possui o documento especificado.

link para vídeo Para uma demonstração de vídeo relacionada, consulte Como: eu faço Anexar ou desanexar um conjunto de VSTO de um documento do word?.

Para anexar extensões de código gerenciado para um documento

  1. Em um projeto que não requer Microsoft Office, como um aplicativo de console ou um projeto formulários do windows, adicione uma referência aos conjuntos de Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e de Microsoft.VisualStudio.Tools.Applications.Runtime.dll.

  2. Adicione as seguintes Imports ou instruções de using à parte superior do arquivo de código.

    Imports Microsoft.VisualStudio.Tools.Applications
    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications;
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  3. Chame o método estático de AddCustomization .

    O exemplo de código usa a sobrecarga de AddCustomization .Essa sobrecarga toma o caminho completo do documento e um de Uri que especifica o local do manifesto de implantação para personalização que você deseja anexar ao documento.Este exemplo pressupõe que um documento do word chamado WordDocument1.docx estiver na área de trabalho, e que o manifesto de implantação está localizado em uma pasta que é chamada publicar que também está na área de trabalho.

    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);
    }
    
  4. Compile o projeto e executar o aplicativo no computador onde você deseja anexar a personalização.O computador deve ter as ferramentas do Visual Studio 2010 para o tempo de execução do Office instalado.

Consulte também

Tarefas

Como: remover as extensões de código gerenciado de documentos

Conceitos

Gerenciamento de documentos em um servidor, usando a classe ServerDocument

Manifestos de aplicativo e implantação em soluções do Office