gpt4 book ai didi

office-addins - 如何在 office.js 中复制范围格式?

转载 作者:行者123 更新时间:2023-12-04 07:41:00 24 4
gpt4 key购买 nike

尝试了我从各种来源拼凑的以下代码,但它似乎不起作用。我是否需要逐一检查每个单独的属性并对其进行分配?

Excel.run(function (ctx) {
var worksheet = ctx.workbook.worksheets.getItem(worksheetName);
var range = worksheet.getUsedRange();
range.load(["formulasLocal", "address", "format/*", "format/fill", "format/borders", "format/font"]);

var newWorksheet = ctx.workbook.worksheets.add(worksheetName + " -Copy");
return ctx.sync().then(function () {
var newAddress = range.address.substring(range.address.indexOf("!") + 1);
newWorksheet.getRange(newAddress).values = range.formulasLocal;
newWorksheet.getRange(newAddress).format = range.format;
}).then(ctx.sync);

最佳答案

不幸的是,目前不支持该场景(尽管它在我们的待办事项中)。您可以将值、文本和公式作为数组获取,但不能获取格式属性。

当您访问类似 range.format.fill.color 的内容时, 如果范围的格式相同,它将为您返回一个值;如果范围有多种颜色,则为“null”,因此没有返回的单一答案。

所以现在,您需要遍历每个单元格 ( range.getCell(i,j) ) 并将它们放入您自己的二维数组中,单独加载每个范围的值,然后同步,然后使用该信息单独应用格式。应该可以在一个相当小的范围内实现,但我们确实意识到有更多针对性的 API 可能有更好的解决方案,

~ Michael Zlatkovsky,MSFT Office 可扩展性团队的开发人员

关于office-addins - 如何在 office.js 中复制范围格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36670368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com