gpt4 book ai didi

python - 如何在 LibreOffice Calc 中使用 PyUNO 更改单元格边框的 LineWidth?

转载 作者:行者123 更新时间:2023-12-04 08:53:40 25 4
gpt4 key购买 nike

我正在编写一个 Python 脚本来自动调整 LibreOffice Calc 中的单元格边框。我想我知道我需要更改什么属性,但是当我为该属性分配一个新值时,该值不会改变。
例如,我编写此代码将单个 Cell 的 TopLine.LineWidth 从 0 更改为 10。

# Access the current calc document
model = desktop.getCurrentComponent()
# Access the active sheet
active_sheet = model.CurrentController.ActiveSheet
# Get the cell and change the value of LineWidth
cell = active_sheet.getCellByPosition(2, 2)
cell.TableBorder2.TopLine.LineWidth = 10
运行此代码后,我没有收到任何错误。而且我还确保我正在访问我希望修改的单元格。但是,此代码不会更改单元格的边框宽度。
我尝试通过在赋值前后打印值来进行一些调试:
# This first print statement returns 0 because the cell has no borders
print(cell.TableBorder2.TopLine.LineWidth)
cell.TableBorder2.TopLine.LineWidth = 10
# This second print statement still returns 0, but I was expecting it to return 10
print(cell.TableBorder2.TopLine.LineWidth)
有谁知道我做错了什么?

最佳答案

您需要将单元格属性设置为更改的边框对象。来自 https://ask.libreoffice.org/en/question/145885/border-macro-no-longer-works/ :

aThinBorder = oRange.TopBorder2
aThinBorder.LineWidth = 1
oRange.TopBorder2 = aThinBorder

关于python - 如何在 LibreOffice Calc 中使用 PyUNO 更改单元格边框的 LineWidth?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63963983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com