2009-12-01 41 views
0

您好可能有人請幫助我有以下: 我想在中心通過德爾福scalc開放式辦公電子表格單元格中的文本和OOoTools工具包。德爾福OpenOffice的自動化scalc中心格文本

下面的代碼不起作用:

sRange := '$A$3:$A$3'; 
ooParams := CreateUnoStruct('com.sun.star.beans.PropertyValue', 1); 
ooParams[0].Name := 'ToPoint'; 
ooParams[0].Value := sRange; 
execDispatch('.uno:GoToCell', ooParams); 

ooParams := CreateUnoStruct('com.sun.star.beans.PropertyValue', 1); 
ooParams[0].Name := 'HorizontalJustification'; 
ooParams[0].Value := 'com.sun.star.table.CellHoriJustify.CENTER'; 
execDispatch('.uno:HorizontalJustification', ooParams); 

有任何人的想法,爲什麼不? 由於廣告

+0

最新伯納德Marcelly OOoTools的1.3版本,現在是在這裏: HTTP ://bernard.marcelly.perso.sfr.fr/index2.html – 2013-09-25 18:22:34

回答

1

似乎Horizo​​ntalJustification需要一個enumvalue,但你給一個字符串。你要查找的com.sun.star.table.CellHoriJustify.CENTER價值,並用它填補你的ooParams[0].Value

這裏是查找一個enumvalue方式:http://www.oooforum.org/forum/viewtopic.phtml?t=16383

在你的情況com.sun.star.table.CellHoriJustify.CENTER等於2,所以你需要:

ooParams[0].Name := 'HorizontalJustification'; 
ooParams[0].Value := 2; 
+0

非常感謝您的時間,這是有效的,我也必須填寫0作爲最後一個參數: ooParams:= CreateUnoStruct('com .sun.star.beans.PropertyValue',0); 親切的問候廣告。 – addelichtman 2009-12-02 11:38:52

+0

CreateUnoStruct的最後一個參數指定要創建序列(VarArray)的最大指數。所以當你說1的時候,你會得到一個VarArray和2個元素[0..1],但你只需要1個元素[0..0],所以maximumindex是0。 – 2009-12-02 12:40:30