办公室协议处理程序

8

Microsoft Office注册了多个协议处理程序,例如ms-wordms-excel等。这里仅有少量文档可用。我试图使用Excel协议处理程序打开传递给它文件URI的文档,但没有成功。我可以轻松使用http/https uri使操作正常运行,但在我的情况下,文档驻留在网络文件共享上。

如果文档位于Web服务器上,则可以正常工作:
ms-excel:ofv|u|http://someserver/somefolder/document.xlsx

如果文档不在Web服务器上,则无法正常工作:
ms-excel:ofv|u|file://someserver/somefolder/document.xlsx

我收到以下错误:

Office无法识别给定命令,因此无法执行操作。

有没有办法使这些协议处理程序与文件URI一起工作?


那个文件URI是从哪里来的?它看起来不正确。UrlCreateFromPath将\someserver\somefolder\document.xlsx转换为file://someserver/somefolder/document.xlsx。 - Anders
@Anders,我最初的文件URI中有额外的斜杠。我已经更新了问题以删除它们。 - codechurn
你是如何执行的?使用ShellExecute吗?在浏览器中点击链接吗?还是使用SharePoint? - Anders
作为测试,我建立了一个简单的HTML页面,其中包含一个锚点标签,其中href属性的值等于ms-excel:ofv|u|file://someserver/somefolder/document.xlsx。该页面通过IIS进行托管,并通过浏览器进行访问,尝试点击链接。 - codechurn
3个回答

0

此处所述,这可能是访问权限的问题。您是否尝试通过文件资源管理器访问该文件?

在我的情况下,我无法打开文件,直到我手动访问了文件夹。文件资源管理器要求我输入凭据。在我输入凭据并重试链接后,它才起作用。


0

我一直遇到同样的问题。使用Office 2016或365似乎可以解决这个问题,但2013年或更早版本则不行。

解决方法是定义自己的协议处理程序并编写一个简单的程序来打开文件(启动myfile.xlsx)。虽然有些麻烦,但我认为除非升级Office,否则无法以其他方式解决这个问题。


-1

尝试 ms-excel:ofv|u|file://(您的IP地址或任何地址)/somefolder/document.xlsx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接