วันพุธที่ 3 พฤศจิกายน พ.ศ. 2553

get locale ของ openoffice.org ด้วย macro

Share it Please
ในบ้างครั้งการเขียนมาโครก็มีความจำเป็นต้องรู้ว่าเครื่องนั้นๆ มีการ settings อะไรไว้บ้างเช่น set ค่า locale ไว้เป็นอะไรเพื่อที่จะได้รู้ว่ามีการเขียนวันเดือนปีเป็นแบบไหน (ปี/เดือน/วัน, วัน/เดือน/ปี)
การเขียนมาโครบน OpenOffice.org เพื่อแสดงค่า locale ที่ตั้งค่าไว้สามารถเขียนได้ดังนี้

dim lang as string 
dim args(0) As new com.sun.star.beans.PropertyValue 

configprovider = createUnoService( "com.sun.star.configuration.ConfigurationProvider" ) 
args(0).name = "nodepath" 
args(0).value = "/org.openoffice.Setup/L10N" 
settings = configprovider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", args() )
print settings.ooSetupSystemLocale

ค่า locale ของเราจะอยู่ที่ property ooSetupSystemLocale ซึ่งใน code ตัวอย่างเราจะได้ผลลัพธ์เป็น th-TH

Blogroll

About