2011-04-04 117 views
0

我在Sharepoint服务器上运行WCF服务,该服务将在库中生成文档并返回其uri。我有一个客户端应用程序调用WCF服务,并启动带有刚刚生成的文档的编辑权限的单词。但是,如果我只是传递文档的URI,它将以只读模式打开文档。尝试保存到服务器覆盖旧文件会导致错误,说明保存时文档是只读的。使用编辑权限打开sharepoint libriary文档

我如何从代码启动word并将修改保存回它在sharepoint服务器上打开的文件?

注意:这不是权限问题,如果我手动进入SharePoint站点,我有权单击该文档并以编辑方式打开。

编辑:好的,所以我想我知道如何做到这一点(我要做一个dll,并有rundll.exe启动单词和做保姆)。不过,我仍然想知道是否有任何其他解决方案,而不是手动签入和签出文档。

+0

库上是否启用了检查?打开文档之前,您是否检查了文档? – 2011-04-04 17:25:24

+0

@Kyle,如果启用了checkins,我该如何检查(通过Sharepoint设计器是否需要)? – 2011-04-04 17:28:15

+0

@凯尔Trauberman,我认为他们启用,但我们没有使用它们。 – 2011-04-04 17:34:29

回答

1

我并不需要检查的文件,我发现了什么是我需要推出iexplore.exe使用下面的代码在URI指向。

Process.Start("iexplore.exe", ((FileDetails)e.Result).Address); 

FileDetails哪里是自定义对象的WCF服务返回和.Address是文档的URI。

0
+0

办公室如何做到这一点?我在sharepoint上打开了一个在我的机器上进行编辑的文档,然后另一个人看了看库,看起来没有被检出,他也可以打开它,但他得到了一个警告,说该文件正在服务器上使用。办公室是否正在进行签入/结帐本身,还是正在做一些不同的事情?如果我不需要的话,我真的很希望不需要在我的客户端应用程序中包含sharepoint命名空间。编辑:我看到我可以使用内置的列表中的REST方法,但如果我不需要,我仍然不会管理它。 – 2011-04-04 17:41:26

+0

当我们需要关闭办公室连接并手动检查文件时,是否需要保存它,或者是否会自行完成。我只关心在关闭单词之前关闭我的应用的人。 – 2011-04-04 17:44:50

+0

我知道这是您的旧答案,但我找到了解决检出问题的解决方案,请参阅我的[发布的答案](http://stackoverflow.com/a/9163074/80274)。 – 2012-02-06 16:05:51