Visual Studio Tools for Office ( VSTO ) es un conjunto de herramientas de desarrollo disponibles en forma de 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 .NET Framework Common Language Runtime (CLR) para exponer su funcionalidad a través de .NET.
Esto permite que las extensiones de las aplicaciones de Office se escriban en lenguajes compatibles con CLI , así como también utilizar funcionalidades y construcciones de interfaz de usuario de las aplicaciones de Office en aplicaciones .NET. [1] Las extensiones de 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 han interrumpido después de Office XP y VSTO está disponible solo 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 mediante la plantilla de complemento compartido en cualquier versión de Microsoft Visual Studio .
Los complementos de VSTO (tipos de proyecto y controles) también se desarrollan con Visual Studio. Para Visual Studio .NET 2003 y Visual Studio 2005, estaba disponible solo como una edición independiente con compatibilidad con lenguajes .NET limitada a Visual Basic.NET y C#. También se incluyó como parte de Visual Studio Team System 2005.
Más tarde, se lanzó Visual Studio Tools para Office 2005 Second Edition (VSTO 2005 SE) 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 de nivel de aplicación; no agrega las personalizaciones de nivel de documento u otra funcionalidad (panel de acciones, controles de host, diseñador visual de documentos, etc.) disponibles en la versión completa de VSTO o las ediciones Team System. [2] [3]
La versión actual es Visual Studio Tools para Office 2012 (VSTO 4.5), que es compatible con Office 2016, Office 2013, Office 2010 y Office 2007.
Al igual que VBA, el código escrito para VSTO se ejecuta en una máquina virtual independiente (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 conjuntos CLI independientes que se asocian con los documentos mediante propiedades personalizadas. [4]
Si las propiedades están presentes, Microsoft Office hospeda el CLR y carga el ensamblado especificado en la propiedad en un dominio de aplicación separado que lleva el nombre del 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 permiso basado en firma digital que rige las macros de VBA. [6]
El desarrollo de VSTO normalmente se realiza con Visual Studio, como lo utilizan los programadores profesionales. La aplicación de Office se (re)inicia para cada sesión de depuración. VBA normalmente se desarrolla desde dentro de la aplicación de Office y no requiere herramientas especiales. VBA también tiene un grabador de macros que puede generar código VBA a partir de acciones del usuario, lo que resulta útil para programadores no profesionales.
Se pueden desarrollar extensiones o complementos de Office utilizando tecnologías VSTO y API de JavaScript. VSTO es una tecnología de Microsoft .NET y los complementos que utilizan tecnología API de JavaScript utilizan JavaScript, HTML y CSS.
Los complementos de API de JavaScript son muy fáciles de transportar entre plataformas como iOS, teléfonos móviles, tabletas y Windows. El proceso y el ciclo completo de licencias son sencillos y se mantienen dentro de los complementos. La visualización interactiva es posible en los complementos de API de JavaScript mediante gráficos, imágenes prediseñadas y mapas.
El desarrollo de complementos de API de JavaScript es una tecnología comparativamente nueva y se introdujo con Office 2016. Hay API y funciones limitadas disponibles y compatibles.
VSTO tiene 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 de la máquina local y a otras aplicaciones son factibles y sencillas en VSTO. Se puede utilizar C# o cualquier otro lenguaje de programación CLI para crear nuevos complementos de Office.
La última versión de VSTO, a partir 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 de VSTO 2003, 2005, 3.0 y 2010 se instalan en modo en paralelo (SxS). El entorno de ejecución de VSTO 2005 SE reemplaza al entorno de ejecución de VSTO 2005 anterior. El entorno de ejecución de VSTO 2010 se instala en paralelo con VSTO 3.0; sin embargo, las aplicaciones de Office 2007 también pueden utilizar el entorno de ejecución de VSTO 2010. Todas las soluciones VSTO anteriores seguirán ejecutándose en las versiones más nuevas de Office siempre que esté instalado el entorno de ejecución en el que se desarrollaron.
Las soluciones VSTO desarrolladas para versiones más nuevas de Office no funcionarán en versiones anteriores de Office, ya que carecen de los ensamblados de interoperabilidad primarios (PIA) necesarios [7]. Las aplicaciones de Office 2010 siempre usarán VSTO 2010 Runtime. La compatibilidad en tiempo de diseño es la siguiente:
El código desarrollado con varias ediciones de VSTO solo funcionará con ciertas versiones y ediciones de Microsoft Office 2003 y productos relacionados. En concreto, las soluciones de 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 de VSTO desarrolladas con VSTO 2005 SE funcionarán con Office 2003 Standard (solo complementos de nivel de aplicación) y Professional. Las soluciones de VSTO 2005 SE funcionarán con todas las ediciones de Office 2007.