朋友碰一个问题,用户使用WPS后,SAP导出excel文档,系统无法自动打开且提示以下错误,安装office的就没有这个问题。
不可能让用户去下载office,那样会显
得SAP很拉跨,再说了那么多用户,你去给他装office?
实际上这不是什么大问题,但严重影响了用户体验,在导出多个文档时,用户去可能都不记得自己导出的是哪个了。
这个报错我也遇到了,但是我不嫌麻烦,毕竟每次我只看那么一两个文档,影响不是很大。
朋友是端午之前问的这个错误,大概研究了下,没找到方法我以为就不了了之了。
没想到今天上班后还在研究,这种态度让我很是敬佩,于是打算抽时间搞一下。
遇到这种错误,肯定是要先问度娘了,结果搜索出来除了一堆广告别无他用(度娘也是快废了。百度一下,你就知道,也成为了历史)。
后来又去必应和goole搜了下,还是什么都没有!
接下来,放大招,在AI元年的今日,有问题就问chatgpt。
给出的结果就这?可能是因为我没掏钱吧,还是得靠自己。
首先根据报错中的地址,找到文件所在地。
看格式是wps的执行文件,prometheus /et应该是wps.exe的一种命令。
同目录下找到了这个et.exe文件,于是尝试在SAP代码里更改执行文件目录。
将此地址改为D:\PROGRA~2\WPS Office\WPS Office\11.1.0.14309\office6\et.exe
如上图,数据可以正常预览,但这种方式肯定不行,增强标准程序涉及的范围目前不明。
继续跟踪标准程序,找出程序是如何查找到的wps.exe的执行文件目录。
在get_pc_applicatio方法中找到了读取地址的method,主要是读取了ExcelWorksheet\protocol\StdFileEditing\server
进入方法里查看,又调用了GetRegValueEx这个方法,电脑和Reg有关的就是注册表了。
在注册表搜索ExcelWorksheet,及查看到了server的默认目录地址,把地址改一下。
这个直接把后缀去掉就行,因为可能其他统也会调用这个服务,不能直接指定为文档类型。
实测,文件也可以自动打开了,以上为个人实践的整个过程,因为不是很了解,可能有些繁琐.