Re: read oo Enum/Constant values with VBScript ...

Bernard Marcelly <[email protected]> Thu, 17 Mar 2011 10:18:02 +0100
Newsgroups gmane.comp.openoffice.devel.api
Message-ID <[email protected]>
Hi Oliver,
If a code uses the API and works, for me it is legal ;-)

Your code using the singleton is very interesting. In fact it works both for 
constants and enums. Here is a simplified VBScript code, with some examples.


' ---- This is a VBScript example -----

' ______ helper objects and routine ________

Set objServiceManager= WScript.CreateObject("com.sun.star.ServiceManager")
Set oContext = objServiceManager.DefaultContext
  ' Set oContext = objServiceManager.getPropertyValue("DefaultContext")
Set oTDM = 
oContext.getValueByName("/singletons/com.sun.star.reflection.theTypeDescriptionManager")


Function GetOOoConst(constString)
If oTDM.hasByHierarchicalName(constString) Then
   GetOOoConst = oTDM.getByHierarchicalName(constString)
Else
   MsgBox "Unrecognized name : " & constString, 16, "OOo API constant or enum"
End If
End Function


' _________ examples of use ___________________

Sub DisplayConst(constString)
MsgBox "Value = " & GetOOoConst(constString), 0, constString
End Sub

'get some constant values
DisplayConst "com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK"
DisplayConst "com.sun.star.awt.FontWeight.BOLD"
DisplayConst "com.sun.star.sheet.FilterOperator2.ENDS_WITH"
DisplayConst "com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN"
'get some enum values
DisplayConst "com.sun.star.text.WrapTextMode.THROUGHT"
DisplayConst "com.sun.star.awt.FontSlant.ITALIC"
DisplayConst "com.sun.star.table.CellVertJustify.BOTTOM"
DisplayConst "com.sun.star.sheet.FilterOperator.BOTTOM_VALUES"
' inexistent enum name value : BOLDDOT
DisplayConst "com.sun.star.awt.FontUnderline.BOLDDOT"


Regards
   Bernard

Message de Oliver Brinzing  date 2011-03-16 09:16 :
> 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

--
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help