Cómo: Escribir código que utilice ambas versiones de la clase ServerDocument
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. 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 crear un archivo de código que use la clase ServerDocument para administrar las personalizaciones para Microsoft Office 2003 y Microsoft Office System 2007. Esto facilita la creación de un ensamblado que contenga el código reutilizable cuando sea necesario administrar las personalizaciones para varias versiones de Microsoft Office.
Para obtener información sobre las diferencias entre las dos versiones de la clase ServerDocument, vea Administrar documentos en un servidor mediante la clase ServerDocument.
Para escribir código que utilice ambas versiones de la clase ServerDocument
Agregue referencias a los siguientes ensamblados:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll
Microsoft.VisualStudio.Tools.Applications.Runtime.dll
Agregue las siguientes instrucciones using (para Visual C#) o Imports (para Visual Basic) a la parte superior del archivo de código. Estas instrucciones definen los alias de los espacios de nombres de cada una de las versiones de la clase ServerDocument.
Imports v3Runtime = Microsoft.VisualStudio.Tools.Applications Imports SERuntime = Microsoft.VisualStudio.Tools.Applications.Runtime
using v3Runtime = Microsoft.VisualStudio.Tools.Applications; using SERuntime = Microsoft.VisualStudio.Tools.Applications.Runtime;
Use el método GetCustomizationVersion para determinar qué versión del motor en tiempo de ejecución de Visual Studio Tools para Office se usó para crear la personalización. A continuación, use la clase ServerDocument de esa versión del motor en tiempo de ejecución para trabajar con la personalización.
En el ejemplo de código siguiente se examina la personalización que está asociada a un documento especificado. Si el documento se personalizó mediante Microsoft Visual Studio Tools para Microsoft Office System (versión 3.0 Runtime) (es decir, mediante un proyecto para Word 2007), el ejemplo muestra la dirección URL del manifiesto de implementación. Si el documento se personalizó mediante Visual Studio 2005 Tools para Office Second Edition runtime (es decir, mediante un proyecto para Word 2003), el ejemplo muestra el contenido del manifiesto de aplicación incrustado.
Private Sub DisplayCustomizationInformation(ByVal documentPath As String) Dim runtimeVersion As Integer = 0 Dim serverDocumentv3 As v3Runtime.ServerDocument = Nothing Dim serverDocumentSE As SERuntime.ServerDocument = Nothing Try runtimeVersion = v3Runtime.ServerDocument.GetCustomizationVersion(documentPath) ' Access a member that is specific to each version of the runtime. If runtimeVersion = 3 Then serverDocumentv3 = New v3Runtime.ServerDocument(documentPath) MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _ serverDocumentv3.DeploymentManifestUrl.ToString()) ElseIf runtimeVersion = 2 Then serverDocumentSE = New SERuntime.ServerDocument(documentPath) MessageBox.Show("The embedded application manifest has the following contents: " & vbLf _ & serverDocumentSE.AppManifest.ToXml()) End If Catch ex As System.IO.FileNotFoundException System.Windows.Forms.MessageBox.Show("The specified document does not exist.") Finally If Not (serverDocumentv3 Is Nothing) Then serverDocumentv3.Close() End If If Not (serverDocumentSE Is Nothing) Then serverDocumentSE.Close() End If End Try End Sub
private void DisplayCustomizationInformation(string documentPath) { int runtimeVersion = 0; v3Runtime.ServerDocument serverDocumentv3 = null; SERuntime.ServerDocument serverDocumentSE = null; try { runtimeVersion = v3Runtime.ServerDocument.GetCustomizationVersion(documentPath); // Access a member that is specific to each version of the runtime. if (runtimeVersion == 3) { serverDocumentv3 = new v3Runtime.ServerDocument(documentPath); MessageBox.Show("The URL of the deployment manifest is: \n" + serverDocumentv3.DeploymentManifestUrl.ToString()); } else if (runtimeVersion == 2) { serverDocumentSE = new SERuntime.ServerDocument(documentPath); MessageBox.Show("The embedded application manifest has the following contents: \n" + serverDocumentSE.AppManifest.ToXml()); } } catch (System.IO.FileNotFoundException) { System.Windows.Forms.MessageBox.Show("The specified document does not exist."); } finally { if (serverDocumentv3 != null) serverDocumentv3.Close(); if (serverDocumentSE != null) serverDocumentSE.Close(); } }
Vea también
Conceptos
Administrar documentos en un servidor mediante la clase ServerDocument
Referencia
Microsoft.VisualStudio.Tools.Applications.ServerDocument
Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument