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