What is VBA? VBA is a powerful tool for building Windows applications. With VBA, however, you have control over only a small portion of the operating system — the part that is available through the functions and objects exposed directly by the Blackbaud API library to VBA in your application. VBA for Advanced Customization uses Visual Basic for Applications programming language to extend the functionality of Blackbaud software. You can create automatic business rules, custom data entry and data retrieval screens, macros, and interfaces with other VBA-enabled software applications. 

How do I access the VBA Environment? To access the VBA IDE, launch the Blackbaud application. From the Tools menu, select Visual Basic for Applications. Microsoft Visual Basic launches and displays on your screen. 
Launch VBA button

Is VBA a separate application? VBA is hosted by RE/FE/EE and is not a standalone application. It is an integrated component of the Blackbaud core application. Many other applications host their own instances of VBA. For example, Microsoft Excel and Word each embed VBA. While all these hosts (RE/FE/EE, Word, Excel) share the common VBA-integrated development environment (IDE), each exposes its own custom functionality and documents as project items. 

What is API? API stands for Application Programming Interface. An API is a set of functions you can use to work with a component, application, or operating system. The Blackbaud Advanced Application Development API allows you to use any COM (Component Object Model) programming language such as Java, C++, or Visual Basic. You can create standalone applications, add applications through the Plug-Ins page, and interface with Blackbaud software from other software applications.

Where are the VBA/API help files and user guides? The user guides are available on the Blackbaud.com website and the links to each guide can be found in this article: How to access RODBA and VBA/API tables and objects documentation

What's the difference between VBA and API? VBA applications process from within the program shell. API applications process while the program shell is closed.

What is Read-Only Database Assistance (RODBA) and Open? These give you open access to database, and its underlying relational architecture. Functioning primarily as a reporting tool, they grant you live access to your data while you work in external applications, such as Microsoft Access or Seagate Crystal Reports. You can use this data to generate timely reports, always using up-to-date information.

What are the benefits of these modules? You can drastically reduce the time you spend performing standard tasks such as mail merges, determining which thank you letter a constituent should receive, or notifying a solicitor that a gift was given because of his efforts. You can also reduce training costs because these standard functions can process automatically - you don't have to train someone to do them. With custom screens, you can customize them to meet your users' specific needs and experience levels.

What are the limitations of the modules? You cannot change the way Blackbaud software processes. You can add new features and processes, but you cannot change the existing procedures and screens. For example, you cannot add a new button to a Students's Bio 1 tab, but you can create a brand new screen to look the way you want it to. VBA applications are not available with RE:Web 7, Faculty Access for the Web, NetSolutions or NetClassroom at this time.

Can VBA/API be used in the Blackbaud Hosting Services? Due to the nature of the Blackbaud Hosting Services environment, it is not possible to use API integration as we do not have the access to the server that would be needed to utilize API. For security purposes, only the hosting server administrators have access to the servers.

Will my database be safe with the custom applications? Any applications you write must go through the same stored procedures as the standard program functions. For example, you cannot add a text value to a date field in the standard program or any custom applications. Therefore, it would be difficult to corrupt your database with any application you create.

Can I access all of the fields in the database? VBA and API provide access to any data element stored in the database tables.

Can I write directly to the database? VBA and API provide read and write access to the database.

What security is available with this module? Only the system supervisor can write applications that will affect the program globally. Users can write applications that will process only when they are logged in.

Who can use these optional modules? Anyone who is comfortable writing in Visual Basic can create applications and programs with VBA or API. You determine how the applications look, feel, and process, and can tailor them to meet your staff's training needs.

What type of support is available? Clients with active maintenance plans also have access to VBA/API solutions in our Knowledgebase and may request customization support through Blackbaud.com. You will receive assistance in determining how the objects, methods, events, and properties work with each other and your programs.

What can I do if I want to use custom applications but I do not have the resources to write them? Visual Basic consultants can assist you with writing custom applications. We also offer Software Customization as a billable service. Contact your Account Executive for more information.

Would I continue to use Read-Only Database Assistance (RODBA) if I have VBA or API? RODBA is the optimal reporting tool as it is much faster for querying than using an event driven programming language such as Visual Basic.

What are some examples of applications I can write?
  • Automatically prepare and print your acknowledgement letters. Simply enter your gifts and The Raiser's Edge 7 will do the rest: create the query, export the data, mark your gifts as acknowledged, open your word processor, and print your letters based on a mail merge, all with a single click of your mouse. Automatically generate emails based on certain events. For example, automatically email major donors and the director of development when they give a gift. Or email the database administrator when someone deletes a record. You may also want to email a solicitor when a donor gives because of him.
  • Allow your donors to submit their gifts to your organization online via your website and automatically add them to your Raiser's Edge 7 database. You can also give them access to biographical, address, and any other information you choose.
  • Create custom data entry screens that are tailored to meet your needs.
  • Automatically generate attributes such as a donor category based on the donor category tables in Configuration. Or automatically assign constituents to the Strategic Planning Committee when they become Board Members.
  • Update synchronized databases automatically.
  • Automatically generate commonly used fields. For example, you could automatically generate the Address Region based on the donor's ZIP Code.
  • Customize your queries and exports with special fields such as calculations and information from external applications.
  • Create a macro that will calculate statistics for your Annual Fund and place it right on your Home page.
  • Add notes and annotations directly from the Home page. In the program, you can add an annotation to a record, a special note that appears every time you open that record. Using a VBA macro, you can simply click a button to search for the record and enter the note or annotation instead of adding it from the record.

Contact your account manager for more information on VBA, API, and other services.