2009-12-01 34 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