Hi, is it legal to use the following source code for reading oo Enum/Constant values ? cause i found all vbscript examples seem to use direct values instead of constants, for example: http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge
and i am not a vba expert ;-)
Regards
Oliver
'This is a VBScript example
Set objServiceManager= WScript.CreateObject("com.sun.star.ServiceManager")
Set objCoreReflection=
objServiceManager.createInstance("com.sun.star.reflection.CoreReflection")
'get some constant values
MsgBox "PARAGRAPH_BREAK: " &
GetConstantValue("com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK"),
64, "Constants"
MsgBox "SOFT_HYPHEN: " &
GetConstantValue("com.sun.star.text.ControlCharacter.SOFT_HYPHEN"), 64,
"Constants"
MsgBox "HARD_SPACE: " &
GetConstantValue("com.sun.star.text.ControlCharacter.HARD_SPACE"), 64,
"Constants"
MsgBox "ALWAYS_EXECUTE_NO_WARN: " &
GetConstantValue("com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN"),
64, "Constants"
'get some enum values
MsgBox "PREV: " & GetEnumValue("com.sun.star.text.PageNumberType", "PREV"), 64,
"Enums"
MsgBox "CURRENT: " & GetEnumValue("com.sun.star.text.PageNumberType",
"CURRENT"), 64, "Enums"
MsgBox "NEXT: " & GetEnumValue("com.sun.star.text.PageNumberType", "NEXT"), 64,
"Enums"
Function GetEnumValue(cName, cValue)
' GetEnumValue =
objCoreReflection.forName(cName).getField(cValue).get(Nothing)
If objCoreReflection.hasByHierarchicalName(cName) Then
Set oIDL = objCoreReflection.getByHierarchicalName(cName)
GetEnumValue = oIDL.getField(cValue).get(Nothing)
Exit Function
End If
GetEnumValue = ""
End Function
Function GetConstantValue(cName)
Set oContext =
objServiceManager.createInstance("com.sun.star.configuration.bootstrap.BootstrapContext")
Set oTDM =
oContext.getValueByName("/singletons/com.sun.star.reflection.theTypeDescriptionManager")
If oTDM.hasByHierarchicalName(cName) Then
GetConstantValue = oTDM.getByHierarchicalName(cName)
Exit Function
End If
GetConstantValue = ""
End Function
--
GnuPG key 0xCFD04A45: 8822 057F 4956 46D3 352C 1A06 4E2C AB40 CFD0 4A45
signature.asc
Description: OpenPGP digital signature
