注册 登录
编程论坛 VFP论坛

希望VFP9能通过WPS获取到DOCX文档的批注信息,但只有Author作者字段读到

shschy 发布于 2024-11-02 07:42, 102 次点击
前几天发了个帖子,还未能解决。搜索测试了半天,还是无法读取到docx文档的批注内容字段,所以单独发布新帖,希望获取帮助。谢谢!
我尝试以下代码,只能读到一个参数 oWPS.(i).Author &&作者
希望可以获取帮助,希望能读到批注内容,批注应用内容的信息(字符串类型)

最希望能读到的无法实现
commentsArray(temp,3)=oWPS.(i).Scope &&批注引用内容
?commentsArray(temp,3) &&此句为异常显示  (对象)
commentsArray(temp,4)=oWPS.(i).Range &&批注内容
?commentsArray(temp,4) &&此句为异常显示  (对象)

代码段如下
* 定义变量
LOCAL oWPS AS OBJECT
LOCAL lcDocPath AS CHARACTER

* 设置要打开的.docx文件路径
lcDocPath = "D:\!!海南\海南.docx"  && docx文件路径
* 创建WPS应用对象
oWPS = CREATEOBJECT("Word.Application")
* 检查对象是否创建成功
IF VARTYPE(oWPS) = "O" THEN
    * 显示WPS应用程序(可选)
    oWPS.Visible = .T.  
    * 打开指定的.docx文档
    oWPS.Documents.Open(lcDocPath)   
    * 设置焦点到WPS窗口(可选)
    oWPS.Activate
ELSE
    MESSAGEBOX("无法创建WPS对象,请确保WPS Office已安装。")
ENDIF

rows=0
rows =oWPS.
WAIT WINDOWs "有"+STR(rows)+"条批注" nowait
DIMENSION commentsArray(rows,5)
temp=0
For i=1  To  rows
    temp  =temp  +1
    &&commentsArray(temp,1)=oWPS.(i).Scope.Information(wdActiveEndPageNumber)&&页码  
    &&commentsArray(temp,2)=oWPS.(i).Scope.Information(wdFirstCharacterLineNumber)&&行号
    commentsArray(temp,3)=oWPS.(i).Scope &&批注引用内容
    ?commentsArray(temp,3) &&此句为异常显示  (对象)
    commentsArray(temp,4)=oWPS.(i).Range &&批注内容
    ?commentsArray(temp,4) &&此句为异常显示  (对象)
    commentsArray(temp,5)=oWPS.(i).Author &&作者
    ?commentsArray(temp,5) &&此句可正常显示
    MESSAGEBOX("wait")
NEXT
oWPS = .NULL
0 回复
1