Welcome to the VB<>OX project
The VB<>OX (say "vbox") project aims at delivering an easy-to-use API for accessing an OpenXchange server from within Visual Basic (for Applications) programs (in the following referred to as VB and VBA, respectively). It provides an abstraction layer to the VB application, hiding most of the complexity of the OpenXchange interfaces behind a number of Visual Basic classes.
As of release 0.1.1, the library already provides a rudimentary interface for accessing the OpenXchange calendar. You can
- Create and store new appointments
- Retrieve existing appointments by their (internal) ID
- Modify (most of) the properties of an appointment, like add or remove participants, change start and end dates etc., and of course
- Update appointments on the server
- Delete appointments from the server
Download
You can download the latest release from SourceForge.Installation
VB<>OX comes as a compressed ZIP archive that extracts into a subdirectory named
Make VB<>OX available to your application: In the distribution directory, you will find the API as a number of files having .bas and .cls filename extensions. In order to use VB<>OX, you have to import all these files as (class) modules into your VB(A) project.
Try to compile the project after importing the VB<>OX modules (via "Debug -> Compile"). If you get no compilation errors, chances are good that you are ready to start using it. Have a look at the code examples in the mdlVboxExampleCode module to get an idea how this works.
Usage
Following is an example of how you can use the API in your own VB programs:
Function checkAppointmentData() ' ================================================================== ' Demonstrates how to connect to an OpenXchange server and how to ' retrieve, modify and store an appointment ' ================================================================== Dim moOxs As clsOxServer Dim moApp As clsOxAppointment Set moOxs = New clsOxServer 'Initialize the connection to the OpenXchange server moOxs.init "http://my.openxchange.server", _ "/servlet/webdav.calendar", _ "someUsername", "somePassword" 'Load an appointment from the server (assuming we know the 'appointment's ID) Set moApp = moOxs.getAppointment(4711) 'Check whether the appointment could be retrieved successfully If moApp.ObjectId <> 0 Then 'Print date and location of the appointment Debug.Print "The appointment starts at " & _ Format(moApp.StartDate, "dd.mm.yyyy hh:nn") Debug.Print "The appointment happens at "; moApp.Location 'Add an user moApp.addUser ("Jon Doe") 'Save the appointment moOxs.saveAppointment moApp End If End Function