PyQt5 / PyQt

PyQt Examples(PyQt各种测试和例子) PyQt4 PyQt5
GNU Lesser General Public License v2.1
6.65k stars 1.97k forks source link

在c++中我的qawiget打不开wps的com组件,而在pyqt的qawiget可以,不知道怎么回事? #141

Closed Heque closed 3 years ago

892768447 commented 3 years ago

wps的 com对象的字符串是啥

892768447 commented 3 years ago

ui->axWidget->setControl("Excel.Application"); ui->axWidget->dynamicCall("SetVisible (bool Visible)", "false"); ui->axWidget->setControl(QStringLiteral( "C:\Users\89276\Desktop\文档\用例.xlsx"));

Heque commented 3 years ago

Excel.Application和Word.Application在c++中可以打开office的,wps的是Ket.Application和Kwps.Application打不开

892768447 commented 3 years ago

我这边只安装了wps 可以直接用 ui->axWidget->setControl(QStringLiteral( "C:\Users\89276\Desktop\文档\用例.xlsx")); 就加载了,这个和默认打开方式有关系

Ket.Application 我这边没发现wps注册了这个com对象。

打开控制面板-管理工具-组件服务-计算机-我的电脑-DCOM配置,你找下有关wps的 CLSID

Heque commented 3 years ago

image 我的找不到,Excel的也找不到,配置里也没有

892768447 commented 3 years ago

使用Excel.Application这个就行了,只装了office的时候。是这个 装了wps的时候。好像会被替换成wps的

892768447 commented 3 years ago

KWPP.Application.9 {44720441-94BF-4940-926D-4F38FECF2A48} KET.Application.9 {45540001-5750-5300-4B49-4E47534F4655}

ET.Workbook.6 {45540003-5750-5300-4B49-4E47534F4654} KET.Workbook.9 {45540003-5750-5300-4B49-4E47534F4655} WPS.Document.6 {00020906-0000-4B30-A977-D214852036FE} KWPS.Document.9 {00020906-0000-4B30-A977-D214852036FF}

Heque commented 3 years ago

很谢谢你啊,但还是找不到,没有关系我转pdf显示吧