2011-04-04 27 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