wpsjsrpcsdk.js与油猴脚本很搭哦

wils
wils

创作者俱乐部成员

先说主观结论:即使你不想开发加载项给别人用,平时只用js宏,也最好弄个自己的加载项。。。

因为:只需要在加载项里写一个js函数,不需要前端vue等知识,就可以从浏览器通过wpsjsrpcsdk.js调用该函数

也就是说,只要自定义一个wpsjs加载项,你就获得了从浏览器操作wps表格的能力

再搭配上油猴脚本,只需要写一个js函数,就可以从任何网站上抓取你需要的信息,写入表格


前几天有小伙伴问,如何从浏览器启动wps,打开本地的doc文档?

以前的思路都是从本地开个服务,浏览器通过这个服务启动本地程序,忽然想起wpsjs加载项里好像有个rpc,由于我只是个加载项新手,只是流于表面的了解,这次回过头去看,才发现wps早就提供了一个本地服务,早就可以通过wpsjsrpcsdk.js实现浏览器调用wps。。。


在初始状态的加载项里,js/systemdemo.js文件里,有个函数例子:InvokeFromSystemDemo

当然,你可以在这里随意自定义其他函数

然后,在你的网站里引用wpsjsrpcsdk.js,或者通过油猴脚本,在任何其他网站里引用它,之后执行

🔔

WpsInvoke.InvokeAsHttp(WpsInvoke.ClientType.et,"你的加载项名称","InvokeFromSystemDemo",{Index:"newDocument"})

就实现了从浏览器打开wps,然后新建了一张表

类似的,很容易实现打开任意网站,自动根据表格填写查询信息,查询后从浏览器写回表格的操作,实现浏览器和wps表格的互通


可能早就有朋友用上了,只有我才发现🤣,不过加载项demo里的例子确实有点难懂,弄明白才发现wpsjsrpcsdk真香

广东省
浏览 192
收藏
6
分享
6 +1
14
+1
全部评论 14
 
魏朝先
请教一下要如何在油猴脚本中使用 wpsjsrpcsdk.js?我用的是 violentmonkey。默认情况下浏览器控制台会出现错误“POST https://127.0.0.1:58891/version net::ERR_CERT_AUTHORITY_INVALID”,只有当我打开 https://127.0.0.1:58891/version,然后点击“继续前往127.0.0.1(不安全)”,之后才能正常使用。请问还有更好的方法吗?谢谢
· 江西省
回复
wils
wils

创作者俱乐部成员

我只是闭着眼用,这个不知道啊。。。 这里用的是firefox tampermonkey,有时候有那个报错,有时候没有 似乎getversion方法发起的是ws连接到127.0.0.1:58892 好像chrome和firefox现在都阻止127.0.0.1 会不会wpsjsrpcsdk在http请求不成功之后自动切换成ws,wpsjs-rpc-sdk-new这个新一点的包里好像提到过
· 海南省
回复
 
HC.旋
大佬,调用wps是什么意思
· 福建省
回复
wils
wils

创作者俱乐部成员

不敢当。。。 意思是写好一个函数,可以是写入表格、绘图、排版、打印这些常见操作,然后浏览器那边可以传参数调用这个函数 按原来的思路大概是这样:本地用Python写了个http服务,收到请求之后,通过xlwings打开Excel,写入一行数据。 现在发现wps本就提供了http服务和操作表格的办法,浏览器直接请求就行了,不用自己搭了。。。
· 广东省
回复
 
LG
111
· 河南省
回复
 
懒得批爆
懒得批爆

创作者俱乐部成员

最终是什么效果?截个图看看呢,从文字描述没看出来和浏览器扩展有什么差别呢。
· 四川省
回复
wils
wils

创作者俱乐部成员

就是本地打开个表格,浏览器里打开个别人的网站,比如增值税查询网站,然后这两者可以互相通信,从本地表格可以发消息到浏览器触发查询,从浏览器可以将查询的结果写入本地表格,正在做个例子。。。 另外浏览器扩展是什么效果?我又火星了
· 广东省
回复
 
寻残梦
666
· 广东省
回复