Tag: office js

在Excel加载项中标识选定的图表

有没有办法在Office加载项中 识别哪个图表具有用户所选的平行于Excel中标识所选范围(workbook.getSelectedRange()) 的方式 ? 此外,有没有一种方法来确定图表基于哪个范围 ? 我找不到任何可以让我在Excel JS API参考中执行此操作的任何内容。

当Excel工作表被更改时执行操作 – Office.js

我试图执行一个操作(特别是在工作簿中更改活动工作表时重新应用过滤表)。 这是使用Excel加载项的Office.js API。 我注意到这个问题是几个月前在这里问的,我想知道如何用最新的生产API集完成这个问题。 我假设这使用绑定?

Excel加载项行索引和值作为未定义返回

我试图通过Excel加载项删除表中的一些行。 我正在使用的代码如下: var table = ctx.workbook.tables.getItem('TableName'); if (Office.context.requirements.isSetSupported('ExcelApi', 1.2) === true) { table.clearFilters(); } var tableRows = table.rows.load('items'); ctx.sync().then(function () { for (var i = (tableRows.count – 1); i >= 0; i -= 1) { var row = tableRows.getItemAt(tableRows.items[i].index); row.delete(); } }); 这在Excel在线(包括Internet Explorer 11)中工作正常。此外,它还可以与版本1601(内部版本6741.2088)及更高版本一起使用。 但是,它不适用于版本1509(内部版本4266.1001)。 在这个版本中,我将行项目的值和索引取为undefined。 我该如何解决这个问题?

Office-js getFileAsync在Mac版Excel中支持

编辑:支持似乎现在添加。 它正在Mac的Excel中工作。 我已经使用Office.context.document.getFileAsync(…)实现了Excel Online的function,它工作得很好。 不幸的是,似乎document.getFileAsync()在Mac版Excel中不受支持。 我在最初的研究中忽略了这个方法是否可行。 我希望我只是做错了什么。 任何人都可以确认,它不支持在Excel中的Mac 2016? 而且,如果不支持,请告诉他们什么时候能够支持?

如何更改Excel Webkit中的用户代理string?

来自excel 365 webkit的用户代理string被设置为“Mozilla / 5.0(Macintosh; Intel Mac OS X 10_12_3)AppleWebKit / 602.4.8(KHTML,如Gecko)”。 我想修改它,以便它可以欺骗为Safari浏览器。 我想把它设置为“Mozilla / 5.0(Macintosh; Intel Mac OS X 10_12_3)AppleWebKit / 602.4.8(KHTML,如Gecko)Version / 10.0.3 Safari / 602.4.8”。 有没有办法在mac中做到这一点?

Excel中的SpecialCells JavaScript API

在VBA Excel中,如果他们有公式或值,我可以select单元格。 Sub ColorCells() Dim rng As Range Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants) rng.Interior.Color = RGB(200, 200, 200) Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas) rng.Interior.Color = RGB(0, 200, 1) End Sub 此外,我可以指定是否只想获取文本值,数字,错误和/或布尔值。 我如何使用Excel JavaScript API来做到这一点? 这是一个非常重要的方法。 目前,我正在循环所有工作表使用的范围矩形以获取值,而我的循环在空白单元格中花费了大量时间。

在线添加行在表格中非常慢

我有一个JavaScript导入加载项,我使用TableBinding.addRowsAsync函数将行添加到20列的表中。 在桌面客户端中,当添加大量的行时,这种方式非常有效,但是在Excel中,它的性能很糟糕。 对于100行,添加的平均时间是1500ms。 对于300,它会上升到2100毫秒左右。 以下是性能testing的实际代码: //vm.binding is a tableBinding //vm.testData is an array of twenty string values vm.binding.addRowsAsync(vm.testData, function (result) { //… }); 我有一个要求,以支持导入大量的行(平均20000)。 目前,这个导入被添加到100页,以防止插件5秒后无响应,但这需要很长时间才能完成。 有什么我缺less,我可以用来改善浏览器的性能?

Excel js插件和COM对象

MS推出了用于Excel的JavaScript API。 基于文档,它似乎也支持桌面版的Excel。 对于C#VSTO插件,与Excel通信的方式是通过封送(COM对象)。 如果没有适当的清理,太多的COM对象被收购,就会发生混乱。 所以问题是,js插件是否有这些陷阱? 更具体的js API使用COM呢? 如果是这样,Windows和Mac版本有什么区别? 我瘦Mac没有COM的概念(纠正我,如果我错了)

range.format.fill被认为是只读的,但应该是可读写的

当我尝试更改range.format.fill属性时,JavaScript引发一个错误,指出我无法在严格模式下更改只读属性值。 也许格式(或填充)对象是内部声明为只读属性,应该读/写? 当我尝试使用range.clear,我有成功,艰难,这就是为什么我认为错误是在格式或填充,但不在范围。 代码是: (function () { "use strict"; // The initialize function must be run each time a new page is loaded Office.initialize = function (reason) { $(document).ready(function () { app.initialize(); $('#paint-range').click(paintRange); }); }; function paintRange() { Excel.run(function (ctx) { var range = ctx.workbook.names.getItem("Countries").getRange(); range.format.fill = "red"; return ctx.sync(); }).catch(function (error) { app.showNotification("Error", error); […]

Excel 2016 MSO下的Office-JS:Excel Host API不再可用

我目前正在使用Microsoft Excel 2016 MSO(16.04266.1001)64位运行Windows 10。 我觉得这是通过MSI安装的版本。 在过去几个月中,我使用Excel Host API实现了一个基于React的Excel加载项。 根据Office开发人员中心提供的Excel JavaScript API需求集文档,该版本似乎包含“ExcelApi 1.1,WordApi 1.1和通用API”需求集。 截至昨天,我不再能够通过JavaScript或通过F12开发人员工具( window.Excel === undefined )访问Excel主机API。 看起来,那个名字空间下的所有function已经变得不可用了。 看来(除其他脚本之外),从CDN加载的office.js脚本现在请求并embeddedExcel-15.02.js作为加载项。 我不知道在昨天之前embedded的Excel-*.js Excel-winrt-16.00.js版本,但是在仔细Excel-winrt-16.00.js了CDN上提供的Excel-15.02.js , Excel-winrt-16.00.js和其他版本的内容之后,我怀疑它是比15.02更新的版本。 为了logging,以下两个运行时检查都返回false – 我说都是这样,因为在dev.office.com上可用的文档中“API”大小写不一致。 Office.context.requirements.isSetSupported("ExcelApi", 1.1); // false Office.context.requirements.isSetSupported("ExcelAPI", 1.1); // false 请指教; 最好的祝福。