如何使用 C# 在 OpenOffice.org uno 中设置 XTextTable 的属性?
Posted
技术标签:
【中文标题】如何使用 C# 在 OpenOffice.org uno 中设置 XTextTable 的属性?【英文标题】:How do I set the properties for an XTextTable in OpenOffice.org uno using C#? 【发布时间】:2009-10-20 16:44:58 【问题描述】:Discussion on OOoForum.org
在python中,我可以这样做:
table.BreakType = PAGE_BEFORE
table.HoriOrient = 0
table.RightMargin = 6.93 * 2540 - table_width
在 C# 中,我找不到设置属性的方法。 XTableTable 只有几个可用的方法,而且它们似乎都没有做这样的事情。如何在 C# 中设置属性?
【问题讨论】:
【参考方案1】:您必须通过 XPropertySet 接口访问该表。您可以通过将表格转换为 XPropertSet 来做到这一点:
// Example
XPropertySet tablePropSet = (XPropertySet)textTable;
// This is how you set a property in C#
// You have to create a new Any object to pass it as parameter
tablePropSet.setPropertyValue("HeaderRowCount", new Any(typeof(int), 1));
“Any”对象位于“uno”命名空间(不是 unoidl.com.sun.star.uno)。你真的不需要这样做
typeof(int)
除非类型不是基本类型。
new Any(1)
适用于基本类型。
BreakType 示例:
XPropertySet tablePropertySet = (XPropertySet)table;
tablePropertySet.setPropertyValue
("BreakType", new Any(typeof(BreakType), BreakType.PAGE_BEFORE));
【讨论】:
以上是关于如何使用 C# 在 OpenOffice.org uno 中设置 XTextTable 的属性?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .NET 从 OpenOffice.org Writer 文档中以编程方式提取宏?