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

1 投票
1 回答
1565 浏览
提问于 2025-04-15 11:46

我想把一个文本表格中的某些单元格的文字方向设置为竖着的,也就是文字是横向显示,而不是竖向的。你可以在文档编辑器中选中这些单元格,然后去以下菜单操作:表格 - 文本属性 - 文本流 - 文本方向。

不过,我不知道怎么通过API来实现这个功能。我试过用CharRotation这个方法,但效果不太对。CharRotation只是把文字旋转了一下,并没有调整其他格式。而我处理的文字是通过制表符来格式化的,这样旋转后就不太好用了。

1 个回答

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的bug跟踪器中。

撰写回答