View Single Post

Old 01-31-2008, 04:53 PM   #2 (permalink)
DavidZ DavidZ is offline
Likes to customize RE!

Join Date: Jul 2006
Location: London, UK
Posts: 350
Rep Power: 3 DavidZ is on a distinguished road

Blackbaud Products
- Raiser's Edge (RE)
- API/VBA

The way you use IBBMacroProperties is to implement it in your plugin. It is best placed in a class file or module. I would suggest either on its own or together with the IBBPlugin interface implementation.

You need to implement the following methods:

IBBMacroProperties_Description
IBBMacroProperties_ImageFilePath
IBBMacroProperties_SupportedMetaObjects

I cannot take credit for the following code it came from a Blackbaud support person but it does display the concept succinctly.

Code:
 
Private Property Get IBBMacroProperties_Description(ByVal sMacroName As String) As String
       Select Case UCase(sMacroName)
       Case "GETPRIMARYADDRESSBLOCK"
           IBBMacroProperties_Description = "Get Address Block"
       Case "GETPRIMARYCONTACT"
           IBBMacroProperties_Description = "Get Organization Primary Contact"
   End Select
End Property
 
Private Property Get IBBMacroProperties_ImageFilePath(ByVal sMacroName As String) As String
   Select Case UCase(sMacroName)
       Case "GETPRIMARYADDRESSBLOCK"
           IBBMacroProperties_ImageFilePath = "C:VBA CodeToolbarMacrogripBlue.gif"
   End Select
End Property
 
Private Property Get IBBMacroProperties_SupportedMetaObjects(ByVal sMacroName As String) As Variant
   Select Case UCase(sMacroName)
       Case "GETPRIMARYADDRESSBLOCK"
           IBBMacroProperties_SupportedMetaObjects =Array(bbmoCONSTITUENT)
       Case "GETPRIMARYCONTACT"
           IBBMacroProperties_SupportedMetaObjects =Array(bbmoRELATION_ORGANIZATION)
   End Select
End Property
When this first came out the icon and name methods did not work properly. I have not used this is in the latest version so I don't know if that has been fixed or not.

David
__________________
David Zeidman
Zeidman Development
http://www.zeidman.info

Check out my RE API blog
http://www.re-decoded.com

Reply With Quote