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ção |
---|
A personalização não carregará se o código espera controles que não possui o documento especificado. |
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
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.
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;
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); }
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