如何检测excel文件是否从一个驱动器打开是只读使用office.js

时间:2016-07-23 19:25:09

标签: office-js office365-apps

我正在为office365开发一个excel web app加载项,我的excel文件放在一个驱动器中。当我打开我的Excel文件时,它以只读模式显示。是否可以使用office.js或任何javascript代码来检测文件是否为只读?

enter image description here

如果您编辑excel,我在浏览器中更改了URL,以便可以用来检测文件是处于只读模式还是编辑模式。现在你可以把它看作view.aspx页面。

我也尝试使用window.location,但由于此应用停留在iframe中,因此很难获得父级网址。

2 个答案:

答案 0 :(得分:1)

目前还没有可以检测Office模型的API。您可以考虑尝试将值设置为选定的单元格,以查看它是否可以作为变通方法。例如,它是只读模式,设置数据操作将失败。

以下是供您参考的示例:

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加载项支持此功能,您可以提交反馈here

答案 1 :(得分:0)

您可以使用Document.mode属性来确定文件是否为只读。此属性返回readOnlyreadWrite。桌面和在线上的Word,Excel和PowerPoint均受支持。