gpt4 book ai didi

c++ - Qt ActiveX QAxObject 格式 Excel 单元格注释

转载 作者:搜寻专家 更新时间:2023-10-31 01:42:44 25 4
gpt4 key购买 nike

我想格式化 Microsoft Excel 2010 单元格注释(例如更改字体、粗体等)使用 Qt 5。

我可以使用以下代码向单元格添加注释:

QAxObject* cellRange = m_activeWorksheet->querySubObject("Cells(int, int)", row, col);
cellRange->dynamicCall("AddComment(const QVariant&)", comment);

我还可以为单元格注释设置 AutoSize 属性:

QAxObject* axComment = cellRange->querySubObject("Comment");
QAxObject* shape = axComment->querySubObject("Shape");
shape->querySubObject("TextFrame")->setProperty("AutoSize", autosize);

但我无法更改“更深层次”的评论属性,例如TextFrame.Characters.Font.Bold.

设置单元格注释后,命令

shape->querySubObject("TextFrame") 

返回一个非零指针,但是

shape->querySubObject("TextFrame")->querySubObject("Characters")

返回 NULL。

如何使用 QAxObject 格式化单元格注释?是否有不同 QAxObject 的属性/子对象的描述可通过 QAxObject 访问?

下面的代码没有任何作用:

shape->setProperty("AutoShapeType", 5);

最佳答案

  1. 问题可能是 TextFrame 没有属性 Characters。相反,它有方法 字符,但是it full signature is

    Characters(Start, Length)

    Qt 文档 says你应该指定完整的签名,所以你应该用

    查询值
    shape->querySubObject("TextFrame")->querySubObject("Characters(Start,Length)")
  2. 您不能将 AutoShapeType 设置为 5AutoShapeType 的类型为 MsoAutoShapeType并且只允许指定值。

关于c++ - Qt ActiveX QAxObject 格式 Excel 单元格注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26341604/

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