IServerClientVBA interface

The IServerClientVBA interface implements all functionality used to establish connection to the IM server, send and receive instant messages, receive lists of contacts and assigned groups from the communication server, view and modify user's account information, etc. This interface is designed primarily for Microsoft Visual Basic for Applications (VBA) programmers and can be used to develop macros for Microsoft Office suite including it's parts such as Excel, Word, Access, Outlook, PowerPoint and other applications.

Library registration and accessing the IServerClientVBA interface from VBA macros

IServerClientVBA interface is defined in the CSCLIENTLib workspace. You need to register the CSClient.dll and SecPrvdr.dll COM modules first and then add reference to Bopup Client Type Library in your project to get interface accessible and visible in source code. For more information on COM registration, please refer to Installation and using topic.

Once the modules have been properly registered in Windows system you can add a reference to IServerClientVBA interface in order to access and use it's methods and workspace. Open your VBA project in Microsoft Visual Basic editor and go to "Tools\References..." in the main menu. Scroll down displayed list of available references to find and check the box near Bopup Client Type Library item. Click OK button to add a reference to the selected library for your project.

Interface methods use various types, constants and enumerations defined in CSClient4.bas module which is installed as a part of Bopup IM Client SDK and available at \include subfolder in installation root directory. That module must be imported to a VBA project in order to properly call IServerClientVBA interface methods. To import the module open VBA project and right-click on Modules in the project left tree, then browse and select the file. The module will be added to the project itself and not as a reference to an external file so there are no needs to copy the module file if you wish to distribute a macro to another computers.

Creating macros and accessing Microsoft Visual Basic editor from Microsoft Office applications is performed from "Developer" tab in the Ribbon panel. To enable it go to Options window in the Office application check "Show Developer tab in the Ribbon" option on "Popular" screen. Once you enable the checkbox you can access Visual Basic and Macros button availabel on a newly added "Developer" tab.

Methods

InitializeInitializes IServerClientVBA class. Must be called prior other functions of the interface.
OpenSessionEstablishes session with the IM server.
UpdateSessionChanges/updates presence status of the established session.
CloseSessionCloses established session.
GetGroupsGets a list of assigned groups into internal buffer.
EnumGroupsRetrieves a list of received groups after successful GetGroups function call.
GetGroupContactsGets a list of users assigned to specific group.
EnumGroupContactsRetrieves a list of group users after successful GetGroupContacts function call.
GetAvailableContactsGets a list of contacts within Organizational Units available to current user.
EnumAvailableContactsRetrieves a list of received contacts and Organizational Units after successful GetAvailableContacts function call.
GetContactListGets a list of contacts saved by current user.
EnumContactListRetrieves a list of received contacts and Organizational Units after successful GetContactList function call.
SetContactListStores current user's Contact List.
CreateAccountCreates a new user account on the IM server.
ModifyAccountRetrieves current user account for modification.
SaveAccountChanges current user account information.
ViewAccountGets account information for specific user.
SetAccountPasswordSets a new password for current user.
SendMessageSends instant message to a user or group.
SendMessageTypingEventSends a message typing instant notification to a remote user.
SendMultipleMessageSends instant message to several users and/or groups.
GetAccountInformationRetrieves current user's first and last names within account flags.
GetAccountStatusRetrieves a presence status for specific user.
GetLicenseInformaionGets information about current software license on the IM server.
GetServerVersionRetrieves current version of the IM server.
GetSessionKeyRetrieves current estashlished session GUID.
GetEventDescriptionRetrieves extended information on given error code.
GetSDKVersionGets version of IM SDK.
TestConnectionChecks a given address of the IM server.