WPS JS宏 网抓
WPS的JS宏不能像VBA那样操作COM对象进行网抓,极大的限制了JS宏的应用。
但是,最近发现,JS宏提供了Shell执行外部命令,以及LineInput读取外部数据,所以用JS宏直接调用curl等工具,似乎比操作COM对象更方便,很好的扩展了JS宏的应用。
可以直接用curl等工具:

也可以用外部命令处理单元格数据:

实现起来很简单,就是先用Shell执行外部命令,再将结果写入临时文件,最后等待并读取临时文件。
但这其中有几个小问题:
WPS的JS里没有setTimeout,Application.Wait又不能在自定义函数里用,所以等待临时文件时只能写死循环,当然里面可以用doEvents避免卡住,但总没有sleep一下来的舒服,希望WPS能提供个等待外部执行结束的Shell命令或给个sleep函数。
WPS for Linux尝试了deb版(无论直接装还是flatpak版或是aur版)不能使用JS宏,wine装上最新的windows版却不能用,总有人说Linux下WPS可以用JS宏,想问下是我设置的不对,还是用了某个wine版,或是需要企业版。