how to show pdf file in asp.net c# : How to select text in pdf application software cloud windows html .net class vba0-part1821

VBA Essentials Guide
How to select text in pdf - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
pdf select text; can't select text in pdf file
How to select text in pdf - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
search pdf documents for text; pdf text search tool
022708
©
2008 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any 
form or by any means, electronic, or mechanical, including photocopying, recording, storage in an 
information retrieval system, or otherwise, without the prior written permission of Blackbaud, Inc.
The information in this manual has been carefully checked and is believed to be accurate. Blackbaud, Inc., 
assumes no responsibility for any inaccuracies, errors, or omissions in this manual. In no event will 
Blackbaud, Inc., be liable for direct, indirect, special, incidental, or consequential damages resulting from 
any defect or omission in this manual, even if advised of the possibility of damages.
In the interest of continuing product development, Blackbaud, Inc., reserves the right to make improvements 
in this manual and the products it describes at any time, without notice or obligation.
All other products and company names mentioned herein are trademarks of their respective holder.
All other products and company names mentioned herein are trademarks of their respective holder.
RE7Enterprise-VBAEssentials-022708 
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
C#: Select All Images from One PDF Page. C# programming sample for extracting all images from a specific PDF page. C#: Select An Image from PDF Page by Position.
how to select text in a pdf; text select tool pdf
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET : Select An Image from PDF Page by Position. Sample for extracting an image from a specific position on PDF in VB.NET program.
pdf make text searchable; pdf search and replace text
VBA Essentials 
Guide
E
SSENTIALS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
Using This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Objects and Object Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
TheRaiser’s Edge Type Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
TheRaiser’s Edge Object Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Programming Child Objects and Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Adding and Deleting Child Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Filtering Data Object Collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
User Interface (UI) Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Raiser’s Edge ActiveX Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Service Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Report Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Advanced Concepts and Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Custom View: Creating Custom Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
VBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  93
What is VBA?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
API vs. VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
The VBA Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
VBA DLL Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Customizing RE:Anywhere for Remote Access Using VBA . . . . . . . . . . . . . . . . . . 140
VBA Code Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
I
NDEX
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  147
VB.NET PDF Text Redact Library: select, redact text content from
Page. PDF Read. Text: Extract Text from PDF. Text: Search Text in PDF. Image: Extract Image from PDF. VB.NET PDF - Redact PDF Text. Help
convert pdf to searchable text; find and replace text in pdf file
C# PDF Text Redact Library: select, redact text content from PDF
Page: Rotate a PDF Page. PDF Read. Text: Extract Text from PDF. Text: Search Text in PDF. C#.NET PDF SDK - Redact PDF Text in C#.NET.
how to select text in pdf; cannot select text in pdf file
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Tools Tab. Item. Name. Description. 1. Select tool. Select text and image on PDF document. 2. Hand tool. Pan around the document. Go To Tab. Item. Name. Description
search pdf for text; search pdf files for text programmatically
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Tools Tab. Item. Name. Description. 1. Select tool. Select text and image on PDF document. 2. Hand tool. Pan around the document. Go To Tab. Item. Name. Description
how to search a pdf document for text; converting pdf to searchable text format
What Is In This Guide?
Using the VBA Essentials Guide, your technical staff can learn how to use the 
optional module VBA for Advanced Customization to customize The Raiser’s 
Edge for your organization’s policies and procedures. Using VBA, a program 
developer can create custom business rules, design custom screens, create Web 
site interfaces, and much more. You can also learn about the following:
• “TheRaiser’s Edge Object Fundamentals” on page11
• “Programming Child Objects and Collections” on page21
• “Advanced Concepts and Interfaces” on page79
• “Custom View: Creating Custom Parts” on page84
• “The VBA Environment” on page95
• “Macros” on page99
• “VBA Code Samples” on page145
How Do I Use These Guides?
TheRaiser’s Edge user guides contain examples, scenarios, procedures, graphics, 
and conceptual information. Side margins contain notes, tips, warnings, and space 
for you to write your own notes. 
To find help quickly and easily, you can access the Raiser’s Edge documentation 
from several places. 
User Guides. You can access PDF versions of the guides by selecting Help
User Guides from the shell menu bar or by clicking Help on the Raiser’s 
Edge bar in the program. You can also access the guides on our Web site at 
www.blackbaud.com. From the menu bar, select Support, User Guides
In a PDF, page numbers in the Table of Contents, Index, and all 
cross-references are hyperlinks. For example, click the page number by any 
heading or procedure on a Table of Contents page to go directly to that page.
Help File. In addition to user guides, you can learn about TheRaiser’s Edge by 
accessing the help file in the program. Select Help, The Raiser’s Edge Help 
Topics from the shell menu bar or press F1 on your keyboard from anywhere 
in the program. 
Narrow your search in the help file by enclosing your search in quotation 
marks on the Search tab. For example, instead of entering Load Defaults, 
enter “Load Defaults”. The help file searches for the complete phrase in 
quotes instead of individual words.
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Tools Tab. Item. Name. Description. Ⅰ. Hand. Pan around the PDF document. Ⅱ. Select. Select text and image to copy and paste using Ctrl+C and Ctrl+V.
search pdf files for text; make pdf text searchable
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Tools Tab. Item. Name. Description. Ⅰ. Hand. Pan around the PDF document. Ⅱ. Select. Select text and image to copy and paste using Ctrl+C and Ctrl+V.
pdf text select tool; search text in pdf using java
W
ELCOME
IV
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
Click to select drawing annotation with default properties. Other Tab. Item. Name. Description. 17. Text box. Click to add a text box to specific location on PDF
select text in pdf reader; how to select text in pdf reader
C# Image: Select Document or Image Source to View in Web Viewer
Supported document formats: TIFF, PDF, Office Word, Excel, PowerPoint, Dicom; Supported Viewer Library enables Visual C# programmers easily to select and load
convert pdf to searchable text online; how to make a pdf document text searchable
Essentials
Contents
____________________________________________________________________
Who is This Guide For?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
Documentation Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
Programming Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
Sample Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
Raiser’s Edge Programming Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
Objects and Object Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
What Are Objects and Object Models? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
TheRaiser’s Edge Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
TheRaiser’s Edge Type Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
Using Early Bound Objects and the Type Library . . . . . . . . . . . . . . . . . . . . . . . .  7
Using the Type Library from VBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
Accessing the References Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
Setting a Reference to TheRaiser’s Edge Type Library. . . . . . . . . . . . . . . .  10
Using the Type Library from an API Application . . . . . . . . . . . . . . . . . . . . . . .  10
Accessing the References Dialog from Visual Basic 5.0 and Higher. . . . . .  11
TheRaiser’s Edge Object Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
The SessionContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
Accessing the SessionContext from VBA. . . . . . . . . . . . . . . . . . . . . . . . . . .  12
Accessing the Session Context from API . . . . . . . . . . . . . . . . . . . . . . . . . . .  12
Initializing and Releasing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  13
The Init and CloseDown Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  13
Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  13
Data Object Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  14
What Are “Top Level” Objects?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  14
Loading a Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
How Many Ways Can I Load a Data Object?. . . . . . . . . . . . . . . . . . . . . . . .  15
An Alternate Method to Load Data Objects—The Database ID. . . . . . . . . .  15
Using TheRaiser’s Edge Search Screen to Load Your Data Object . . . . . .  16
Updating Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
The Fields Property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19
Validation and Integrity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
Adding and Deleting Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
Adding a Record Using a Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
Deleting a Record Using a Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21
Programming Child Objects and Collections . . . . . . . . . . . . . . . . . . . . . . . .  21
What is a Child Object? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21
Child Collection Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
The Standard Child Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  22
The Child Top Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
C
HAPTER
1
2
The Child View Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
The Top View Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Adding and Deleting Child Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Adding a Child Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Deleting a Child Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Sorting Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
SortField. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
SortOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Filtering Data Object Collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Return Code Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Error Code Based. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
User Interface (UI) Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Data Entry Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Showing a Standard Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Raiser’s Edge ActiveX Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Data Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Attributes Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Phones/Email/Links Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Service Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Query Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Opening a Query. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Processing a Query Result Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Creating Static Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Report Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Reports Categories Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Reports Types Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Report Instances Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Report Objects Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Code Tables Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table Lookup Handler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Attribute Type Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Annotation Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Using the Annotation Form Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Notepad Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Using the Notepad Form Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Media Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Using the Media Form Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Property Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Using the Property Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Search Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Using the Search Screen Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
MiscUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Using the MiscUI Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Advanced Concepts and Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Using the IBBDataObject Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Using the IBBMetaField Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Custom View: Creating Custom Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Custom Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Adding a Custom Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
E
SSENTIALS
3
This guide provides Visual Basic developers with all the information needed to customize and enhance 
TheRaiser’s Edge. From a quick VBA macro to a full blown application based on TheRaiser’s Edge Object API
you can find what you need here. A wealth of programming samples are provided to illustrate key concepts and 
provide you with a solid foundation on which to build your custom Raiser’s Edge solutions.
The programming examples and related code provided to you via this guide are the property of Blackbaud, Inc. and 
you may not copy, distribute, convey, license, sublicense, or transfer any rights therein. All examples are subject to 
applicable copyright laws.
We hope you find this guide useful as you develop for TheRaiser’s Edge. If you are not sure if this material is 
targeted for you, see “Using This Guide” on page3. 
If you have programmed in Visual Basic before, we suggest you review the “Documentation Map” on page4. This 
map is a great starting point from which you can navigate to the particular aspect of Raiser’s Edge programming 
that interests you.
Using This Guide
This guide is for developers who are creating solutions for TheRaiser’s Edge. These solutions range from creating 
a basic VBA procedure to large, complex addition to TheRaiser’s Edge
The information is laid out in a clean, progressive fashion. We introduce concepts and techniques gradually. If you 
are familiar with Visual Basic programming and object-oriented programming concepts, the content will be useful. 
VBA programming in TheRaiser’s Edge should be very familiar to anyone who has written either Visual Basic 
code or VBA code in other applications (Microsoft Office, for example). API for Advanced Application 
Development should be easy for any developer who has used COM objects from Visual Basic
This information is not for everyone. To cover the material in a useful manner, we had to make certain assumptions 
about your level of knowledge. If you are comfortable with the Visual Basic language and you understand data 
types, variable scoping, and how to use the Visual Basic Editor, then this guide is for you. If not, your time may be 
better spent with one of the many fine introductory materials available. Actually, one of the best resources is the 
online help provided with VBA
Please remember...
We provide programming examples for illustration only, without warranty either expressed or implied, 
including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. 
This guide assumes you are familiar with Microsoft Visual Basic and the tools used to create and debug 
procedures. Blackbaud Customer Support can help explain the functionality of a particular procedure, but they 
will not modify, or assist you with modifying, these examples to provide additional functionality. If you are 
interested in learning more about The Raiser’s Edge VBA and API optional modules, contact our Sales 
department at solutions@blackbaud.com.
For more information...
Visit Blackbaud’s Web site at www.blackbaud.com for software customization FAQs, code samples, and other 
helpful information, such as error explanations. The VBA\API Web site page is one of your primary sources of 
information for customizing your Raiser’s Edge software. You can also send an email to 
dssupport@blackbaud.com or call 1-800-468-8996 for support assistance. 
C
HAPTER
1
4
Documentation Map
This guide is broken down into logical sections, each designed to help you learn and use a particular aspect of the 
available extensibility technologies. Because there is important information that applies to both VBA for Advanced 
Customization and API for Advanced Application Development optional modules, some documentation for both 
products is included in the Essentials chapter. If you come across VBA or API information that is not applicable to 
your organization’s Raiser’s Edge software package, contact Sales at solutions@blackbaud.com for more 
information.
The Essentials
This chapter introduces key concepts that you need to understand as you program with TheRaiser’s Edge.
Visual Basic for Applications (VBA)
This chapter details VBA support in TheRaiser’s EdgeVBA is an extremely powerful, industry-standard 
programming environment built right into TheRaiser’s Edge.
Application Program Interface (API)
This chapter exposes core functionality using API, enabling developers to build custom solutions that leverage 
Raiser’s Edge technology through a set of easy to use COM objects.
Programmer’s Reference 
This section, located only in the help file, provides a detailed listing of all objects and services available to 
developers programming with TheRaiser’s Edge object model. 
Programming Language
The code samples in this guide are written using Visual Basic 6.0 language. This language is shared by VBA, 
Microsoft Visual Basic 6.0, Microsoft Office 2000, and other VBA 6.0 host applications. While it is possible to use 
API from other languages (C++ or Java, for example), Blackbaud can only provide support regarding Visual Basic 
programming. 
Sample Code
Periodically, we provide code samples to illustrate a point. Code samples always appear in the following format. 
'Programming Example -
'    we will put VB code comments in Green
Dim oGift as CGift
Set oGift = New CGift
oGift.Init REApplication.SessionContext
Note....
You may notice occasional line breaks in the code due to layout constraints. All line breaks are documented with 
the standard “ _ ” in the code sample. 
Documents you may be interested
Documents you may be interested