注册 登录
编程论坛 VFP论坛

请问WIN10+VFP9环境下可以读取WPS文字组件编辑的DOCX或DOC文档里的批注信息吗

shschy 发布于 2024-10-29 06:15, 105 次点击
请问WIN10+VFP9环境下可以读取WPS文字组件编辑的DOCX或DOC文档里的批注信息吗?
需要读取WPS文字组件编辑的DOCX或DOC文档里的批注信息,在相近文档里同步标注
如果DOCX或DOC文档里没有表格、插图等元素,只有段落文字。
里面的批注大体结构不知是否如下。
(1)文件名称     C254【暂考虑内容字数少,不使用备注型字段】   
(2)批注对应起始 N8
(3)批注对应结束 N8
(4)批注对应内容 C254 【暂考虑内容字数少,不使用备注型字段】
(5)批注注解内容 C254 【暂考虑内容字数少,不使用备注型字段】

1 回复
#2
shschy2024-11-02 07:38
我尝试以下代码,只能读到一个参数 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
1