我正在使用python宏来处理libreoffice编写器文件。我希望有可能切换TextField的EnableVisible标志。
这意味着,当双击该字段时,切换可以使用的小标志,使其可见或不可见。
到目前为止,我在我的代码中得到了这个:
import uno
def toggle_field(field_title):
document = XSCRIPTCONTEXT.getDocument()
textfields = document.getTextFields()
enum = textfields.createEnumeration()
while enum.hasMoreElements():
tf = enum.nextElement()
if tf.VariableName == field_title:
visibility = tf.getPropertyValue('EnableVisible') #wrong
tf.EnableVisible = not visibility #wrong
tf.update() #maybe right
这给了我那个
com.sun.star.beans.UnknownPropertyException:未知属性:已启用(在模块(...)file.py中调用函数toggle_field时出错(:未知属性:EnableVisible
另外,如果我评论第一个错误的行,第二个错误的行给我
com.sun.star.beans.UnknownPropertyException:未知属性:已启用(在模块(...)file.py中调用函数toggle_field时出错(:EnableVisible
更新:
tf.IsFieldDisplayed = False
或
tf.setPropertyValue('IsFieldDisplayed', False)
不再是未知属性,但我收到此错误消息:
com.sun.star.beans.UnknownPropertyException:IntrospectionAccessStatic_Impl :: setPropertyValueByIndex(),索引13处的属性是readonly(在模块(...)file.py中调用函数toggle_field时出错(:IntrospectionAccessStatic_Impl :: setPropertyValueByIndex() ,索引13的财产是只读
什么似乎不公平,因为它在文档中不是只读的,BASIC可以修改它(https://wiki.documentfoundation.org/images/b/b0/BH5009-Macros.pdf第19页)
答案 0 :(得分:2)
经过共同的研究,结果证明该属性被称为IsVisible
:
tf.IsVisible = not tf.IsVisible