Pregunta

Hola, alguien podría ayudarme con lo siguiente: Quiero centrar el texto en una celda de hoja de cálculo de oficina abierta scalc a través de Delphi y el kit de herramientas OOoTools.

El siguiente código no funciona:

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);

¿Alguien tiene alguna idea de por qué no? Anuncio de agradecimiento

¿Fue útil?

Solución

Parece que HorizontalJustification necesita un enumvalue, pero estás dando una cadena. Debe buscar el valor de com.sun.star.table.CellHoriJustify.CENTER y llenar su ooParams [0] .Value con él.

Aquí hay una manera de buscar un valor numérico: http: // www. oooforum.org/forum/viewtopic.phtml?t=16383

En su caso, com.sun.star.table.CellHoriJustify.CENTER es igual a 2, por lo que necesita:

ooParams[0].Name  := 'HorizontalJustification';
ooParams[0].Value := 2;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top