Domanda

Ciao qualcuno potrebbe aiutarmi per favore con quanto segue: Voglio centrare il testo in una cella di foglio di calcolo open office scalc tramite Delphi e il toolkit OOoTools.

Il seguente codice non funziona:

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

Qualcuno ha idea del perché no? Grazie annuncio

È stato utile?

Soluzione

Sembra che HorizontalJustificazione abbia bisogno di un enumvalue, ma stai dando una stringa. Devi cercare il valore di com.sun.star.table.CellHoriJustify.CENTER e riempire il tuo ooParams [0] .Value con esso.

Ecco un modo per cercare un enumvalue: http: // www. oooforum.org/forum/viewtopic.phtml?t=16383

Nel tuo caso com.sun.star.table.CellHoriJustify.CENTER è uguale a 2, quindi è necessario:

ooParams[0].Name  := 'HorizontalJustification';
ooParams[0].Value := 2;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top