Visual Studio Tools for Office
   HOME

TheInfoList



OR:

Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a
Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
add-in (project templates) and a runtime that allows
Microsoft Office Microsoft Office, or simply Office, is the former name of a family of client software, server software, and services developed by Microsoft. It was first announced by Bill Gates on August 1, 1988, at COMDEX in Las Vegas. Initially a marketin ...
2003 File:2003 Events Collage.png, From top left, clockwise: The crew of STS-107 perished when the Space Shuttle Columbia disintegrated during reentry into Earth's atmosphere; SARS became an epidemic in China, and was a precursor to SARS-CoV-2; A ...
and later versions of Office applications to host the
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
Common Language Runtime The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instru ...
(CLR) to expose their functionality via .NET. This allows extensions to the Office applications to be written in CLI compliant languages as well as to use functionality and user interface constructs from Office applications in .NET applications. Extensions to Office prior to Office 2003 only allowed the creation of
COM Com or COM may refer to: Computing * COM (hardware interface), a serial port interface on IBM PC-compatible computers * COM file, or .com file, short for "command", a file extension for an executable file in MS-DOS * .com, an Internet top-level d ...
add-ins using
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic ( ...
or
Visual C++ Microsoft Visual C++ (MSVC) is a compiler for the C, C++ and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both tri ...
and a "Developer" edition was also offered that enabled VBA developers to create COM Add-ins. VSTO supersedes developer editions of Office 2000 and Office XP for Office development. The developer editions of Office have been discontinued after Office XP and VSTO is available for Office 2003 and later versions only. The VSTO runtime, although part of VSTO development tools, is also downloadable separately if required. COM addin development is still possible for Office 2000 and all later versions using the ''Shared Add-in'' template in any version of
Microsoft Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
. The VSTO add-ins (project types and controls) are also developed using Visual Studio. For Visual Studio .NET 2003 and Visual Studio 2005, it was available only as a standalone edition with support for .NET languages limited to Visual Basic.NET and C#. It was also included as a part of the Visual Studio Team System 2005. Later on, the Visual Studio Tools for Office 2005 Second Edition (VSTO 2005 SE) was released as a free add-in to Visual Studio Professional and above that includes Office 2007 and 2003 support. However, for Visual Studio Professional Edition, it installs only the application-level add-ins; it does not add the document-level customizations or other functionality (actions pane, host controls, visual document designer, etc.) available in the full version of VSTO or Team System editions. The current version is Visual Studio Tools for Office 2012 (VSTO 4.5) which is compatible with Office 2016, Office 2013, Office 2010, and Office 2007.


Comparison with VBA

Like VBA, code written for VSTO is executed by a separate
virtual machine In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized h ...
(the CLR) which is hosted inside the Microsoft Office applications. However, unlike VBA, where the code is stored in the document file itself, programs written with VSTO are stored in separate CLI assemblies which are associated with the documents by means of custom properties.More on Word and Excel as CLR hosts
/ref> If the properties are present, Microsoft Office hosts the CLR and loads the assembly specified in the property into a separate appdomain named after the document's name. VSTO applications are subject to the .NET Framework Code Access Security constraints, in addition to the
digital signature A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
based permission model that governs VBA macros. VSTO development is normally performed using Visual Studio as used by professional programmers. The Office application is (re)started for each debugging session. VBA is normally developed from within the Office application and requires no special tools. VBA also has a macro recorder that can generate VBA code from user actions which is useful for non-professional programmers.


Comparison with JavaScript API

Office extensions or add-ins can be developed using VSTO and JavaScript API technologies. VSTO is Microsoft .NET technology and add-ins using JavaScript API technology use JavaScript, HTML and CSS. JavaScript API add-ins are highly portable across platforms like iOS, mobile phones, tablets and Windows. The complete licensing process and cycle is easy and maintained within add-ins. Interactive visualization is feasible in JavaScript API add-ins using Charts, ClipArt and Maps. JavaScript API add-in development is comparatively new technology and is introduced with Office 2016. There are limited APIs and functions available and supported. VSTO has complete access to all Office object models. It is feasible to perform all operations on the Office client. Features that requires accessing local machine file systems and other applications are feasible and easy in VSTO. C# or any other
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instr ...
programming language can be used to create new Office add-ins.


VSTO compatibility and add-in functionality

The latest version of VSTO, as of 2018, is "Office Tools for Visual Studio" and is available with all versions of Microsoft Visual Studio 2017. VSTO 2003, 2005, 3.0 and 2010 runtimes install in side-by-side (SxS) mode. VSTO 2005 SE runtime replaces the earlier VSTO 2005 runtime. VSTO 2010 runtime installs side-by-side with VSTO 3.0, however, Office 2007 applications can also use the VSTO 2010 runtime. All older VSTO solutions will continue to run in newer versions of Office as long as the runtime against which they were developed is installed. VSTO solutions developed against newer Office versions will not work in older Office versions as they lack the necessary Primary Interop Assemblies (PIAs) VSTO Loader and Runtime Components
/ref> Office 2010 applications will always use VSTO 2010 Runtime. Design-time support is as follows: Code developed with various editions of VSTO will only work with certain releases and editions of Microsoft Office 2003 and related products. Specifically, VSTO solutions developed in editions prior to VSTO 2005 SE will not work with any edition of Office 2003 other than Professional. VSTO solutions developed with VSTO 2005 SE will work with Office 2003 Standard (only application-level add-ins) and Professional. VSTO 2005 SE solutions will work with all editions of Office 2007.


See also

*
Microsoft Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
*
Visual Studio Tools for Applications Visual Studio Tools for Applications (VSTA) is a set of tools that independent software vendors (ISVs) can use to build customization abilities into their applications for both automation and extensibility. Those customization abilities can be used ...
(VSTA)


References


External links


Visual Studio Tools for Office homepageVSTO 2.0 SE (VS 2005) Add-in (Office 2003 and Office 2007)VSTO 2.0 SE (VS 2005) Runtime for Office 2003 and Office 2007VSTO 3.0 (VS 2008) Runtime for Office 2007VSTO 4.0 (VS 2010/2012/2013) Runtime for Office 2007/2010/2013 (permalink)Jake Ginnivan: Adding Value to Software projects with VSTO
{{DEFAULTSORT:Visual Studio Tools For Office Tools for Office