Articulo de referencia

Herramientas de Visual Studio para Office

Visual Studio Tools for Office ( VSTO ) es un conjunto de herramientas de desarrollo disponibles en forma de un complemento de Visual Studio (plantillas de proyecto) y un entorn...

Visual Studio Tools for Office ( VSTO ) es un conjunto de herramientas de desarrollo disponibles en forma de un complemento de Visual Studio (plantillas de proyecto) y un entorno de ejecución que permite a Microsoft Office 2003 y versiones posteriores de las aplicaciones de Office alojar el Common Language Runtime (CLR) de .NET Framework para exponer su funcionalidad a través de .NET.

Esto permite escribir extensiones para las aplicaciones de Office en lenguajes compatibles con CLI , así como utilizar la funcionalidad y las construcciones de la interfaz de usuario de las aplicaciones de Office en aplicaciones .NET. [ 1 ] Las extensiones para Office anteriores a Office 2003 solo permitían la creación de complementos COM utilizando Visual Basic o Visual C++ y también se ofrecía una edición "Developer" que permitía a los desarrolladores de VBA crear complementos COM.

VSTO reemplaza las ediciones para desarrolladores de Office 2000 y Office XP para el desarrollo de Office. Las ediciones para desarrolladores de Office se descontinuaron después de Office XP y VSTO solo está disponible para Office 2003 y versiones posteriores. El entorno de ejecución de VSTO, aunque forma parte de las herramientas de desarrollo de VSTO, también se puede descargar por separado si es necesario. El desarrollo de complementos COM aún es posible para Office 2000 y todas las versiones posteriores utilizando la plantilla de complemento compartido en cualquier versión de Microsoft Visual Studio .

Los complementos VSTO (tipos de proyecto y controles) también se desarrollan con Visual Studio. Para Visual Studio .NET 2003 y Visual Studio 2005, solo estaba disponible como edición independiente con soporte para lenguajes .NET limitado a Visual Basic.NET y C#. También se incluyó como parte de Visual Studio Team System 2005.

Más adelante, Visual Studio Tools for Office 2005 Second Edition (VSTO 2005 SE) se lanzó como un complemento gratuito para Visual Studio Professional y versiones superiores, que incluye compatibilidad con Office 2007 y 2003. Sin embargo, para Visual Studio Professional Edition, solo instala los complementos a nivel de aplicación; no agrega las personalizaciones a nivel de documento ni otras funcionalidades (panel de acciones, controles de host, diseñador visual de documentos, etc.) disponibles en la versión completa de VSTO o en las ediciones de Team System. [ 2 ] [ 3 ]

La versión actual es Visual Studio Tools for Office 2012 (VSTO 4.5), que es compatible con Office 2016, Office 2013, Office 2010 y Office 2007.

Comparación con VBA

Al igual que VBA, el código escrito para VSTO se ejecuta mediante una máquina virtual independiente (el CLR) que se aloja dentro de las aplicaciones de Microsoft Office. Sin embargo, a diferencia de VBA, donde el código se almacena en el propio archivo del documento , los programas escritos con VSTO se almacenan en ensamblados CLI independientes que se asocian a los documentos mediante propiedades personalizadas. [ 4 ]

Si las propiedades están presentes, Microsoft Office aloja el CLR y carga el ensamblado especificado en la propiedad en un dominio de aplicación independiente con el mismo nombre que el documento. [ 5 ] Las aplicaciones VSTO están sujetas a las restricciones de seguridad de acceso al código de .NET Framework , además del modelo de permisos basado en firma digital que rige las macros VBA. [ 6 ]

El desarrollo de VSTO se realiza normalmente con Visual Studio, tal como lo utilizan los programadores profesionales. La aplicación de Office se reinicia en cada sesión de depuración. VBA se desarrolla generalmente dentro de la aplicación de Office y no requiere herramientas especiales. VBA también cuenta con una grabadora de macros que puede generar código VBA a partir de las acciones del usuario, lo cual resulta útil para programadores no profesionales.

Comparación con la API de JavaScript

Las extensiones o complementos de Office se pueden desarrollar utilizando las tecnologías VSTO y la API de JavaScript. VSTO es una tecnología de Microsoft .NET, y los complementos que utilizan la API de JavaScript emplean JavaScript, HTML y CSS.

Los complementos de la API de JavaScript son altamente portables entre plataformas como iOS, teléfonos móviles, tabletas y Windows. El proceso y ciclo completo de licencias es sencillo y se gestiona dentro de los propios complementos. La visualización interactiva es posible con los complementos de la API de JavaScript mediante gráficos, imágenes prediseñadas y mapas.

El desarrollo de complementos para la API de JavaScript es una tecnología relativamente nueva que se introdujo con Office 2016. Existen API y funciones disponibles y compatibles limitadas.

VSTO ofrece acceso completo a todos los modelos de objetos de Office. Es posible realizar todas las operaciones en el cliente de Office. Las funciones que requieren acceso a los sistemas de archivos locales y otras aplicaciones son factibles y sencillas en VSTO. Se puede utilizar C# o cualquier otro lenguaje de programación de línea de comandos para crear nuevos complementos de Office.

Compatibilidad con VSTO y funcionalidad de complementos

La versión más reciente de VSTO, a fecha de 2018, es "Office Tools for Visual Studio" y está disponible con todas las versiones de Microsoft Visual Studio 2017.

Los entornos de ejecución VSTO 2003, 2005, 3.0 y 2010 se instalan en modo paralelo (SxS). El entorno de ejecución VSTO 2005 SE reemplaza al anterior VSTO 2005. El entorno de ejecución VSTO 2010 se instala junto con VSTO 3.0; sin embargo, las aplicaciones de Office 2007 también pueden usar el entorno de ejecución VSTO 2010. Todas las soluciones VSTO anteriores seguirán funcionando en versiones más recientes de Office siempre que esté instalado el entorno de ejecución con el que se desarrollaron.

Las soluciones VSTO desarrolladas para versiones más recientes de Office no funcionarán en versiones anteriores de Office, ya que carecen de los ensamblados de interoperabilidad primaria (PIA) necesarios [ 7 ]. Las aplicaciones de Office 2010 siempre utilizarán VSTO 2010 Runtime. La compatibilidad en tiempo de diseño es la siguiente:

El código desarrollado con distintas ediciones de VSTO solo funcionará con ciertas versiones y ediciones de Microsoft Office 2003 y productos relacionados. En concreto, las soluciones VSTO desarrolladas en ediciones anteriores a VSTO 2005 SE no funcionarán con ninguna edición de Office 2003 que no sea Professional. Las soluciones VSTO desarrolladas con VSTO 2005 SE funcionarán con Office 2003 Standard (solo complementos a nivel de aplicación) y Professional. Las soluciones VSTO 2005 SE funcionarán con todas las ediciones de Office 2007.

Véase también

Referencias

  1. "Desarrollo de Office y SharePoint en Visual Studio" . msdn.com . Microsoft.
  2. "Herramientas de Visual Studio 2005 para el sistema Office 2007 (VSTO 2005 SE) publicadas en la web" . blogs.msdn.com . Microsoft. 9 de noviembre de 2006.
  3. Funcionalidades VSTO disponibles según la combinación de productos
  4. "Más información sobre Word y Excel como programas anfitriones de CLR" . Archivado del original el 18 de enero de 2008. Consultado el 16 de enero de 2008 .
  5. "Microsoft lanza otros hosts CLR" . Archivado del original el 18 de enero de 2008. Consultado el 16 de enero de 2008 .
  6. Modelo de seguridad VSTO
  7. Componentes de carga y tiempo de ejecución de VSTO
  • Página principal de Visual Studio Tools para Office
  • Complemento VSTO 2.0 SE (VS 2005) (Office 2003 y Office 2007)
  • VSTO 2.0 SE (VS 2005) Entorno de ejecución para Office 2003 y Office 2007
  • VSTO 3.0 (VS 2008) Entorno de ejecución para Office 2007
  • VSTO 4.0 (VS 2010/2012/2013) Entorno de ejecución para Office 2007/2010/2013 (enlace permanente)
  • Jake Ginnivan: Cómo agregar valor a los proyectos de software con VSTO. Archivado el 17 de diciembre de 2014 en Wayback Machine.