如何在OpenOffice中设置TextTable单元格的文本方向?

时间:2009-05-22 16:24:54

标签: c# python openoffice.org openoffice-writer uno

我想为TextTable中的某些单元格设置文本方向,使它们是垂直的(即文本是横向而不是纵向)。 您可以通过选择单元格在Writer中执行此操作,然后转到: 表 - 文本属性 - 文本流 - 文本方向

但是,我无法通过API弄清楚如何做到这一点。我尝试使用CharRotation,但它的行为并不正确。 CharRotation只需获取文本并旋转它(不调整任何格式)。我正在处理的文本由制表位格式化,并且在以这种方式旋转时行为不正确。

1 个答案:

答案 0 :(得分:0)

在这几个月之后我终于明白了这一点!

您必须为单元格设置“WritingMode”属性。在C#中:

XCell cell = table.getCellByName(cellName);
((XPropertySet)cell).setPropertyValue("WritingMode", new Any((short) 
WritingMode.TB_RL));

我还没有在python中尝试过,但我想它会是这样的:

cell = table.getCellByName(cellName)
cell.WritingMode = 2

如果您使用的是静态类型语言,请确保将其转换为简短语言。由于某些奇怪的原因,执行typeof(WritingMode)将无效。

请参阅OOo错误跟踪器中的this issue