Working with 'OnlineVariables'
OnlineVariables are containers to recognize variable changes.
This is the most efficient way to handle variable vlaue changes within VBA or external applications...
Dim WithEvents zOLV As OnlineVariable
Const strOLV As String = "MyOnlineVariableContainer"
'initialize event on runtime startup
Private Sub Project_Active()
'get object if already exists
Set zOLV = thisProject.OnlineVariables.Item(strOLV)
If zOLV Is Nothing Then
'if not exitst, create a new OnlineVariable container
Set zOLV = thisProject.OnlineVariables.CreateOnlineVariables(strOLV)
'add variables to the container
zOLV.Add "Variable1"
zOLV.Add "Variable2"
zOLV.Add "Variable3"
End If
'activate 'VariableChange' event
zOLV.Define
End Sub
'event is fired when a variable value changes
Private Sub zOLV_VariableChange(ByVal obVar As IVariable)
Dim vValue As Variant
vValue = obVar.Value
'ignore error values (i.e. on startup)
If IsError(vValue) Then Exit Sub
Debug.Print obVar.Name & " = " & vValue
End Sub
'release objects on closing the runtime
Private Sub Project_Inactive()
'deactivate 'VariableChange' event
If Not zOLV Is Nothing Then zOLV.Undefine
Set zOLV = Nothing
End Sub
This is a migrated post! Originally posted on 16.08.2007 by user robertf. Please be aware that information can be outdated.