Previous Document Next Document

Understanding automation : Which automation environments are supported? : What is VSTA?


What is VSTA?

The successor to VBA, Microsoft Visual Studio Tools for Applications (VSTA) is based on Microsoft Visual Studio 2008. In CorelDRAW, the VSTA feature supports the .NET framework and enables development in two programming languages: Visual Basic .NET and Visual C#.

 
Most of the code examples provided in this documentation are written in VBA.

The VSTA Editor in CorelDRAW is an integrated development environment (IDE) that lets you create VSTA solutions for the software.

How does VSTA compare with VBA?

Both VSTA and VBA allow you to create powerful macro solutions. With VSTA, you use the VSTA Editor as an IDE, and you use Visual Basic .NET or Visual C# as a programming language. With VBA, you use the Macro Editor as an IDE, and you use VBA as a programming language.

If you want to perform any of the following tasks, you can use either VSTA or VBA:

 
customize or extend the features of the software
 
interact with other applications that use Visual Basic 6 — or with other compatible components that are external to the software
 
interact with Web-based services
 
customize the IDE with add-ins
 
create macro projects — with multi-threading support, if desired
 
access macro projects programmatically
 
generate macro code dynamically
 
store macro code in a pre-compiled format
 
hide macro code from other macro authors
 
debug macro projects
 
create customized user interfaces for macro projects

However, if you want to perform any of the following tasks, you must use VSTA:

 
access the .NET framework natively — to support using Managed Add-in Framework (MAF), referencing .NET assemblies directly, running customized code on the Common Language Runtime (CLR), enforcing .NET security policies, or creating user interfaces by using .NET WinForms
 
fully customize the IDE
 
create macro projects that are certified to run on Windows Vista
 
create macro projects that support 64-bit processors
 
create macro projects that support server-side customizations
 
create macro projects that support all data types, including BigDecimal and Int64
 
create macro projects and macro assemblies that persist without the use of structured storage
 
open and modify macro projects in Visual Studio
 
compile macro projects to DLL assemblies
 
run macro projects out of process
 
run macro projects without causing the host application to stop execution at errors or breakpoints
 
isolate macro projects from one another; run macro projects independently, and stop them during runtime without affecting other running projects
 
author macros within managed code
 
prevent servers from running customized user interfaces for macro projects

Previous Document Next Document Back to Top

Copyright 2013 Corel Corporation. All rights reserved.