Tag: office js

是否有可能使用Office插件复制excel公式?

我已经设法使用Visual Studio Pro 2013为Excel 2013创build一个function齐全的任务窗格外接程序,并且我有一堆testingfunction,可以很好地工作,如添加数据,创build绑定,创build表格等。现在,我想在Excel中执行一些非常简单的操作,将其添加到新列中,然后将列左侧的列复制到新列中。 在Excel中,这将复制所有的公式和任何关系的单元格公式引用将很好地转置到新的列。 (例如= A1可能成为= B1)有没有什么办法使用JavaScript做到这一点? 我能想到的唯一select是将新列作为空白列添加,并重新编译javascript中的所有信息和公式,然后添加格式,这是Excel做得非常好的一个非常长的替代scheme用一个简单的复制和粘贴(特别)谢谢Stu

使用office.js在Excel中获取单个单元格格式?

我刚开始看到新的办公室JS API转换现有的Excel加载项使用这种新技术。 通过在上下文中排队单个负载,我可以轻松地从整个范围获取一组值,但似乎没有获得单元格格式的等效方法。 除非范围内的所有单元格格式相同,否则范围返回的值为“未定义”。 我提出的解决scheme是在范围内的每个单独的单元格上对加载操作进行排队。 例如,这个函数为一个范围内的每个单元格获取填充颜色: function readFormats() { Excel.run(function (ctx) { var cells = []; //First get the size of the range for use in the loop below var myRange = ctx.workbook.getSelectedRange().load(["rowCount", "columnCount"]); return ctx.sync() .then(function () { //Loop though every cell and queue a load on the context for fill colour for (var […]

如何使用Office.js API在Excel中实现数据validation

有没有办法使用Office.js API编程实现数据validation?

range.address抛出上下文相关的错误

我们已经使用Excel JavaScript API开发了好几个月了。 我们已经遇到了由于不明原因而得到解决的与上下文有关的问题。 我们无法复制这些问题,并想知道如何解决。 最近类似的问题又开始出现了。 我们一直得到的错误: 财产“地址”不可用。 在读取属性值之前,调用包含对象的load方法,并在关联的请求上下文中调用“context.sync()”。 我们认为,因为我们有定义的多个函数来模块化代码在项目中,可能会在这些function之间的上下文有所不同而忽略了。 所以我们想出了通过JavaScript模块模式实现的单个上下文解决scheme。 var ContextManager = (function () { var xlContext;//single context for entire project/application. function loadContext() { xlContext = new Excel.RequestContext(); } function sync(object) { return (object === undefined) ? xlContext.sync() : xlContext.sync(object); } function getWorksheetByName(name) { return xlContext.workbook.worksheets.getItem(name.toString()); } //public return { loadContext: loadContext, sync: […]

如何使用Office.js获取单元格的格式

我正在开发一个Excel加载项提取单元格A1的文本,包括其格式,并显示在自己的区域中的文本。 因此,join包含这个(见下面的截图):•显示格式化文本的区域•开始提取的button请点击查看图像 波纹pipe是我用来获取文本的代码 function displaySelectedCells() { Office.context.document.getSelectedDataAsync(Office.CoercionType.Text, function (result) { if (result.status === Office.AsyncResultStatus.Succeeded) { showNotification('The selected text is:', '"' + result.value + '"'); } else { showNotification('Error', result.error.message); } }); } 上面的代码使用“强制types”作为“文本”。 我已经尝试了很多,find解决scheme来获取格式化书面单元格中的文本。 我得到的回应是平面文本:(请帮我解决问题

在JavaScript API for Excel中缺less方法:复制工作表

由于无法取消加载项所做的更改,因此我们需要为用户提供备份选项。 当前版本的JavaScript API for Excel没有使用其数据和格式复制工作表的方法。 有谁知道任何解决方法或计划添加此类方法?

如何保持打开closures工作簿(Office.js API for Excel)之间的工作表的设置?

根据我的问题,我发现以编程方式附加工作表设置的最佳方式是使用工作表标识符,因为工作表名称可以由用户更改。 Office.context.document.settings.set("{040E0F18-0F61-4CD9-886D-95112C925793}", JSON.stringify(myValues)); 但经过一番研究,我发现工作表标识符在重新打开工作簿后总是在变化,根据文档,这不是一个错误,这是一个function。 “重新打开后{040E0F18-0F61-4CD9-886D-95112C925793}”更改为“{00000000-0001-0000-0000-000000000000}”( 关于该问题 ) 是否有办法保持打开closures工作簿之间的工作表的设置?

如何确定Office加载项是否在Excel或Excel Online下运行?

我正在编写一个Office加载项(以前,Apps for Office)。 我正在使用office.js并且在某些代码中,我想检查应用程序是在excel(桌面软件)中运行还是在网上运行(Excel Online) 就像是: if (Office.IsRunningOnWeb){ // Do something. }

使用Excel.run()在Office.js中链接承诺

我正在使用新的office.js。 我正在使用返回承诺的Excel.runfunction。 我有一个关于图书馆实施的承诺模式的问题。 样品都显示这种模式 Excel.run( function (ctx) { //set up something return ctx.sync().then (function () { //call another function somewhere to chain operations }); }).then ( function () { //do something else if you want }).catch (function (error) { handle errors }); 问题是Excel.run()中包含的ctx.sync()。then()按照提示的方式,不能按照promise规范链接promise,因为如果尝试处理那么Excel.run()之外的()所以,模式似乎是促进嵌套函数调用,这是承诺应该消除。 我想要做的是通过像这样链接几个呼叫: Excel.run( function (ctx) { return ctx.sync(); }).then ( function (ctx) { […]

单击任务窗格内容并立即滚动工作表导致Excel无法响应

重现步骤: 单击任务窗格内容中的任何内容。 将鼠标移到工作表上(不要点击任何东西)。 用鼠标滚轮滚动到工作表上。 注意Excel变得没有反应。 最小化然后恢复Excel。 注意到Excel再次变得响应。 我能够用Visual Studio中的基本Excel加载项目模板来重现这一点。 我目前正在使用最新版本的Excel(16.0.7726.1030)。 任何解决方法? 谢谢!