Accessing Exposed Functions


Getting an object reference to FinanceHub from VBA


In all of the examples shown, you will see a preceding "o." in front of the FinanceHub function, this is the object reference to the FinanceHub library.


You must also generate an object reference either by using this example or creating your own.


To instantiate the FinanceHub from Microsoft Visual Basic for Applications or Microsoft Visual Basic you must bind FinanceHub to an object that you can then reference.


In all of the examples shown we do this check by calling the regQ function which is shown below.


The regQ function binds the myObjectiveOLAPXL.AddinModule to the Global object "o". Once "o" has been bound you can use it to reference the FinanceHub functions i.e. o.connect o.mooAttached etc.


Global o As Object

Global oregistered As Boolean

Public Function regQ() As Boolean


If oregistered = False Then

Set o = Application.COMAddIns.Item("myObjectiveOLAPXL.AddinModule").Object oregistered = True

Else

   regQ = True

End If

End Function



Accessing functions within the FinanceHub library directly


Instead of creating an object reference as above you can access functions directly by fully qualifying the function as below:


Dim ret_ as string


ret_ = Application.COMAddIns.Item("myObjectiveOLAPXL.AddinModule").Object.mooExecuteOnly("LMT TIME to NULL")


This method can be safer, especially in Excel versions lower than 2007 where the object reference can be lost.