Открыть текстовый документ из codebehind - например, Response.Write с небольшим количеством JavaScript - PullRequest
1 голос
/ 02 декабря 2009

На пользовательской странице приложения я изменяю файл (word doc), затем вызываю SPFile.CheckOut ();

Тогда я хотел бы открыть этот файл непосредственно в режиме редактирования в слове. (Как было бы, если бы пользователь щелкнул файл и выбрал «Изменить в Microsoft Office Word»)

Есть идеи, как это сделать?

РЕДАКТИРОВАТЬ: Да, я знаю, что я не могу этого на сервере. Я ищу способ вернуть некоторый JavaScript, который откроет документ на клиенте. (Я полагаю, что в проверках предустановки Office AcitiveX есть какой-то javascript, который затем вызывает его)

Larsi

Ответы [ 4 ]

2 голосов
/ 04 декабря 2009

Я только что провел некоторое исследование с Firebug и обнаружил, что это связано с ссылкой «Редактировать в Microsoft Word».

<span type="option" text="Edit in Microsoft Office Word" onmenuclick="editDocumentWithProgID2('/sites/I2Validation/KitTestSite/Kits%20Test%20Site%20Documents/Here%20is%20Kit.doc', '', 'SharePoint.OpenDocuments', '0', 'http://servername/sites/I2Validation/KitTestSite', '0')" iconsrc="/_layouts/images/icdoc.gif" iconalttext="" sequence="240" id="ID_EditIn_Microsoft Office Word"/>

Я думаю, вы могли бы программно вызвать editDocumentWithProgID2() после загрузки страницы.

Нашел в core.js:

function editDocumentWithProgID2(strDocument, varProgID, varEditor, bCheckout,strhttpRoot, strCheckouttolocal)
{
    var errorCode=editDocumentWithProgIDNoUI(strDocument, varProgID, varEditor, bCheckout,strhttpRoot, strCheckouttolocal);
    if (errorCode==1)
    {
        alert(L_EditDocumentRuntimeError_Text);
        window.onfocus=RefreshOnNextFocus;
    }
    else if (errorCode==2)
        alert(L_EditDocumentProgIDError_Text);
}
0 голосов
/ 20 апреля 2012

Для того, чтобы отредактировать документ на сервере без кода, вам необходимо установить Microsoft Office Wep Apps

0 голосов
/ 02 декабря 2009

Как говорит UJ, вы не можете открыть его словом на сервере.

Но вы можете редактировать документ на сервере, используя open xml. см .: http://www.microsoft.com/downloads/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en

0 голосов
/ 02 декабря 2009

Это на самом деле не возможно, в основном потому, что кодовый код запускается на сервере, пока вы хотите, чтобы клиентская машина открывала слово. Лучшее, что вы можете сделать, - это отправить мета-обновление с URL-адресом документа word - при попадании в браузер пользователя откроется файл.

http://sharepoint/sp.doc">

Быстрое предупреждение: убедитесь, что вы извлекаете файл как текущий пользователь, иначе ваши пользователи, не являющиеся администраторами, не будут иметь прав на открытие файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...