как определить, открыт ли файл excel с одного диска только для чтения с помощью office.js

Я разрабатываю надстройку веб-приложения excel для office365, мой файл excel размещен на одном диске. Когда я открываю свой файл Excel, он отображается в режиме только для чтения. Можно ли с помощью office.js или любого кода javascript определить, находится ли файл только для чтения?

введите здесь описание изображения

Я попробовал изменить URL-адрес в браузере, если вы редактируете Excel, чтобы его можно было использовать для определения, находится ли файл в режиме только для чтения или в режиме редактирования. прямо сейчас вы можете видеть это как страницу view.aspx.

Я также пытался использовать window.location, но поскольку это приложение остается в iframe, трудно получить местоположение URL-адреса родителей.


person shyam_    schedule 23.07.2016    source источник


Ответы (2)


В настоящее время нет такого API, который мы можем обнаружить в модели Office. Вы можете попытаться установить значение для выбранной ячейки, чтобы увидеть, может ли это работать как обходной путь. Например, если это режим только для чтения, действие установки данных не будет выполнено.

Вот пример для справки:

Office.context.document.getSelectedDataAsync(Office.CoercionType.Text, function (asyncResult) {
        if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
            Office.context.document.setSelectedDataAsync(asyncResult.value, function (asyncResult) {
                app.showNotification(asyncResult.status);
            })
        }
    })

И если вы хотите, чтобы надстройка Office поддерживала эту функцию, вы можете отправить отзыв здесь.

person Fei Xue - MSFT    schedule 25.07.2016
comment
это не работает, из приложения оно записывает значение, но не позволяет пользователю его записать. любую другую вещь, которую вы можете предложить. - person shyam_; 25.07.2016
comment
я даже могу добавить рабочий лист из своего приложения, но когда я обновляю рабочий лист браузера, его там нет - person shyam_; 25.07.2016
comment
По какому сценарию вы работали? Если вам нужно определить режим работы, вы можете рассмотреть возможность отправки отзыва. - person Fei Xue - MSFT; 25.07.2016
comment
Таким образом, если он находится в режиме только для чтения, его нельзя использовать, пользователь может выполнять все действия, может видеть данные, которые может принести надстройка, но они не будут сохраняться, поэтому мы хотели показать пользователю сообщение для его редактирования, чтобы его работа не пропала даром. ..спасибо, - person shyam_; 25.07.2016
comment
У нас похожий сценарий. Надстройка не может распознать состояние только для чтения. Хорошая часть заключается в том, что Excel сообщит пользователям, что у них есть изменения, которые необходимо сохранить при закрытии Excel. Нажатие «Сохранить» фактически откроет диалоговое окно «Сохранить как…». Сейчас мы обучаем наших пользователей. Да, плохо, но пока ничего не поделаешь. - person Miro J.; 26.07.2016

Вы можете использовать свойство Document.mode, чтобы определить, Только для чтения. Это свойство возвращает либо readOnly, либо readWrite. Он поддерживается в Word, Excel и PowerPoint на рабочем столе и в Интернете.

person Marc LaFleur    schedule 28.07.2016
comment
это не работает, это свойство дает режим только для плагина, а не для файла excel - person shyam_; 29.07.2016