如何使用 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 的属性?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OpenOffice.org 中为文本编写内联样式

如何使用 .NET 从 OpenOffice.org Writer 文档中以编程方式提取宏?

OpenOffice.org 关闭后如何重新连接?

如何将 OpenOffice.org 作为后台进程运行以将我的应用程序连接到使用 UNO Java API?

使用 OpenOffice SDK 创建数据源时抛出异常

OpenOffice.org 作家 [关闭]