繁体   English   中英

Office Javascript API:如何手动触发MS Office的自动套用格式功能?

[英]Javascript API for Office: How Can I Manually Trigger MS Office's AutoFormat Functionality?

背景:

我正在使用Office的Javascript API在MS Excel中构建一个Web应用程序。 我要添加到应用程序中的一项功能是能够从应用程序中编辑数据。 该数据通过API中的setDataAsync函数发送到Excel文档。 它适用于纯文本。

我的电子邮件地址遇到了一个奇怪的问题。 当我在单元格中手动输入电子邮件地址时,Excel会自动将其格式化为mailto:超链接。 当我使用Javascript设置数据时,不会发生这种情况。 我需要找出一种方法来强制Excel自动格式化它。

我所拥有的另一种想法是使用以下方法将数据本身预先格式化为链接:

=HYPERLINK("mailto:person@website.com","person@website.com")

但是,当有人手动查看该单元格时,他们将看到该长公式,而不仅仅是地址。 并将其读回Web应用程序将是一场噩梦。

当前代码:

function writeData(bindingID,newData,row,col) {
    var newTable = new Office.TableData();
    newTable.rows = [[newData]];
    Office.select("bindings#"+bindingID).setDataAsync(newTable, {coercionType: "table", startRow: row, startColumn: col}, function (asyncResult) {
        if (asyncResult.status == "failed") {
            display('Error: ' + asyncResult.error.message);
        }
    });
}

题:

是否有可能导致Excel自动格式化?

答:不能完成。

我也在MS论坛上也提出了这个问题,并得到了我想在这里发布的答案,以防其他人遇到同样的问题。

经过测试和研究后,恐怕Office的JavaScript中没有提供任何方法或属性来检查后自动为单元格的文本设置mailto链接。

使用SetDataAsync方法插入后,我们需要手动重新格式化单元格。

张露娜-MSFT (来源)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM