找回密码
 立即注册
收起左侧

QAxObject 读写 word 想在表格中插入图片不成功

2
回复
1826
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2022-10-31 15:25:54 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 rainsy 于 2022-10-31 15:28 编辑

QAxObject 读写 word  想在表格中插入图片 用下面的代码操作
WPS可以正常插入,但是word2010没有任何反应

实在不知道怎么回事

QAxObject* table = word.intsertTable(7,12); // 插入曲线图表格
word.insertCellPic(table,6,1,QString("D:/chart1.png"));

//在表格中插入图片

void QWord::insertCellPic(/*int nTable*/QAxObject* table,int row,int column,const QString& picPath)
{        

        QAxObject* range=table->querySubObject("Cell(int,int )",row,column)->querySubObject("Range");                         

        if(NULL== range) {                return;        }



        range->querySubObject("InlineShapes")->dynamicCall("AddPicture(const QString&)",picPath);}

测试发现往word中插入图片就不行

void QWord::insertPic( QString picPath )
{        

              QAxObject *selection = m_wordWidget->querySubObject("Selection");        

              selection->querySubObject("ParagraphFormat")->dynamicCall("Alignment", "wdAlignParagraphCenter");        

              QVariant tmp = selection->asVariant();        

              QList<QVariant>qList;        

              qList<<QVariant(picPath);        

              qList<<QVariant(false);        

              qList<<QVariant(true);        

              qList<<tmp;        

              QAxObject *Inlineshapes = m_wordDocuments->querySubObject("InlineShapes");        

              Inlineshapes->dynamicCall("AddPicture(const QString&, QVariant, QVariant ,QVariant)",qList);
}


回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2022-11-8 16:37:27 显示全部楼层
问题找到了  word 路径必须是反斜杠‘\’   wps 正反都可以   QDir::toNativeSeparators(path)
回复

使用道具 举报

累计签到:93 天
连续签到:1 天
2022-11-8 16:49:19 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了