Visual Studio Tools for Office (VSTO) це набір засобів розробки доступних у вигляді розширень Microsoft Visual Studio (шаблони проектів) і runtime, що дозволяє Microsoft Office 2003 і більш пізніх версій використовувати функціональність .NET Framework Common Language Runtime (CLR).
Це дозволяє розширенням Office додатків бути написаними в CLI сумісній мові, а також використовувати функціональні можливості та інтерфейс користувача конструкцій з додатків Office в .NET додатках[1]. Розширення для Office до Office 2003 дозволяло створення тільки COM add-ins використовуючи Visual Basic чи Visual C++ і версія «Developer» також була запропонована, що дозволило VBA розробникам створювати розширення COM.
VSTO замінює версію для розробників Office 2000 та Office XP. Версії для розробки Office перстали випускатись після Office XP і VSTO доступна тільки для Office 2003 і пізніших версій. VSTO runtime також частина інструментів для розробки, і може бути завантажена окремо при необхідності. Розробка COM add-in можлива до сьогодні для Office 2000 і всіх пізніших версій шаблонів Shared Add-in у будь-якій версії Microsoft Visual Studio.
VSTO розширення (засоби управління та типи проектів) також розроблені використовуючи Visual Studio. Для Visual Studio .NET 2003 і Visual Studio 2005, це було доступно тільки як окрема версія з підтримкою мов Visual Basic.NET та C#. Воно було також включено до Visual Studio Team System 2005.
Пізніше Visual Studio Tools for Office 2005 Second Edition (VSTO 2005 SE) був випущений як безкоштовне розширення для Visual Studio Professional і новіших, що включає підтримку Office 2007 і 2003. Тим не менш, для Visual Studio Professional Edition він встановлює лиш розширення рівня додатків; він не додає настройок рівня документів чи іншої функціональності, доступної в повній версії VSTO чи Visual Studio Team System[2][3].
Поточна версія Visual Studio Tools for Office 2012 (VSTO 4.5) яка є сумісною з Office 2013, Office 2010, та Office 2007.
Порівняння з VBA
Як для VBA, код, написаний для VSTO виконується окремою віртуальною машиною (CLR) яка знаходиться в додатках Microsoft Office. Однак, на відміну від VBA, де код зберігається в самому файлі документа, програми написані з VSTO знаходяться в окремих збірках CLI які пов'язані з документом за допомогою користувацьких властивостей[4].
Якщо властивості присутні, Microsoft Office звертається до CLR і завантажує збірку, вказану в властивості у окремий домен програми[5]. Розробка з допомогою VSTO, як правило,виконується з допомогою Visual Studio. Додатки для офісу перезапускаються для кожної сесії відлагодженняю. З допомогою VBA додатки, як правило, розробляють в самій програмі Office і не потребують ніяких додаткових інструментів. VBA також може записувати макроси з дій користувача і генерувати по них VBA код, що є корисним для непрофесійного програміста.
Сумісність VSTO
Версія середовища виконання VSTO/VSTO
|
Microsoft Office 2003
|
Microsoft Office 2007
|
Microsoft Office 2010
|
Версія .NET
|
Доступний як
|
Рівень документа
|
Рівень програми
|
Рівень документа
|
Рівень програми
|
Рівень документа
|
Рівень програми
|
VSTO 2003
|
Word, Excel
|
—
|
—
|
—
|
—
|
—
|
.NET 1.1
|
Доступний тільки в Visual Studio .NET 2003 VSTO SKU
|
VSTO 2005
|
Word, Excel
|
Outlook
|
—
|
—
|
—
|
—
|
.NET 2.0, 3.0 or 3.5
|
Доступний в Visual Studio 2005 VSTO SKU і частина Visual Studio 2005 Team System
|
VSTO 2005 SE
|
Вимагає VSTO 2005 для настройки рівень документа
|
Word, Excel, Outlook, PowerPoint, Visio
|
InfoPath
|
Word, Excel, Outlook, PowerPoint, Visio, InfoPath
|
—
|
—
|
.NET 2.0, 3.0 or 3.5
|
Доступний для завантаження для Visual Studio 2005 Professional і новіщих, однак для настройки рівня документа вимагається оригінальний VSTO 2005 (Самостійний SKU чи Team System)
|
VSTO 3.0
|
Word, Excel (Для середовища виконання VSTO 2005/2005 SE)
|
Word, Excel, Outlook, PowerPoint, Visio, Project (Для середовища виконання VSTO 2005 SE)
|
Word, Excel, InfoPath
|
Word, Excel, Outlook, PowerPoint, Visio, InfoPath, Project, SharePoint 2007 Workflows
|
—
|
—
|
.NET 3.5
|
Вбудовано в Visual Studio 2008 Professional і новіші
|
VSTO 4.0
|
—
|
—
|
Word, Excel
|
Word, Excel, Outlook, PowerPoint, Visio, InfoPath, Project
|
Word, Excel
|
Word, Excel, Outlook, PowerPoint, Visio, InfoPath, Project
|
.NET 3.5 or 4.0
|
Вбудовано в Visual Studio 2010 Professional і новіші
|
Див. також
Примітки
Джерела