Cómo: Asociar extensiones de código administrado a documentos (2007 System)
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos de Visual Studio Tools para Office y versiones de Microsoft Office especificados. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
Puede asociar una personalización de Visual Studio Tools para Office a un documento de Microsoft Office Word 2007 o un libro de Microsoft Office Excel 2007 ya existentes. El documento o libro puede estar en cualquier formato de archivo que Visual Studio Tools para Office admita. Para obtener más información, vea Arquitectura de las personalizaciones de nivel de documento.
Nota: |
---|
La personalización no se cargará si el código espera controles que el documento especificado no tiene. |
Para asociar una personalización de Visual Studio Tools para Office a un documento de Word o Excel, utilice el método AddCustomization de la clase ServerDocument. Como la clase ServerDocument está diseñada para ejecutarse en un equipo que no tiene instalado Microsoft Office, puede utilizar este método en soluciones que no están basadas en proyectos de Visual Studio Tools para Office (como una consola o aplicación de formularios Windows Forms).
Para asociar extensiones de código administrado a un documento
Cree un nuevo proyecto que no inicie Word o Excel, por ejemplo, una aplicación de consola o un proyecto de formularios Windows Forms.
En el nuevo proyecto, agregue una referencia a los ensamblados siguientes.
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll
Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll
Agregue las siguientes instrucciones Imports o using al principio del archivo 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;
Llame al método estático AddCustomization.
En el ejemplo de código siguiente se utiliza la sobrecarga AddCustomization. Esta sobrecarga toma la ruta de acceso completa del documento y Uri que especifica la ubicación del manifiesto de implementación para la personalización que desea asociar al documento. En este ejemplo se presupone que un documento de Word denominado WordDocument1.docx está en el escritorio y que el manifiesto de implementación se encuentra en una carpeta que se denomina Publicar que también está en el escritorio.
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); }
Vea también
Tareas
Cómo: Escribir código que utilice ambas versiones de la clase ServerDocument
Cómo: Quitar extensiones de código administrado de documentos (2007 System)
Cómo: Quitar extensiones de código administrado de documentos (2003 System)
Cómo: Asociar extensiones de código administrado a documentos (2003 System)
Conceptos
Administrar documentos en un servidor mediante la clase ServerDocument
Manifiestos de implementación y aplicación en soluciones de Office