我有一个脚本,除了清除B4:B120区域"//清除"保证金更新"列。"部分(由于某种原因,该部分显示为灰色)外,其余部分都可以正常工作:
function main(workbook: ExcelScript.Workbook): ReportImages {
// Recalculate the workbook to ensure all tables and charts are updated.
workbook.getApplication().calculate(ExcelScript.CalculationType.full);
// Get the data from the "Target Margins - FHM" table. (name of Excel tab, not name of table)
let sheet1 = workbook.getWorksheet("Sheet1");
const table = workbook.getWorksheet('Target Margins - FHM').getTables()[0];
const rows = table.getRange().getTexts();
// Get only the Product Type and "Margin Update" columns, then remove the "Total" row.
const selectColumns = rows.map((row) => {
return [row[0], row[1]];
});
// Delete the "ChartSheet" worksheet if it's present, then recreate it.
workbook.getWorksheet('ChartSheet')?.delete();
const chartSheet = workbook.addWorksheet('ChartSheet');
// Add the selected data to the new worksheet.
const targetRange = chartSheet.getRange('A1').getResizedRange(selectColumns.length - 1, selectColumns[0].length - 1);
targetRange.setValues(selectColumns);
// Get images of the chart and table, then return them for a Power Automate flow.
const tableImage = table.getRange().getImage();
return { tableImage };
// Clear the "Margin Updates" column.
const targetSheet = workbook.getActiveWorksheet();
const getRange = targetSheet.getRange("B4:B120");
getRange.clear(ExcelScript.ClearApplyTo.contents);`
}
// The interface for table and chart images.
interface ReportImages {
tableImage: string
}
该代码复制A列和B列(构成一个表)中的数据,并通过Power Automate流发送电子邮件。不幸的是,我需要B列的部分清除值(而不是格式或样式),之后此流将不执行。
如果能帮我解决这个问题,我将不胜感激。
谢谢你。
@控制论.游牧者:当我尝试使用Range ("B4:B120").Clear
时,我收到
检测到无法访问的代码(7027)
以及
和"找不到名称"范围"(2304)
Office Script Range Clear Error
1条答案
按热度按时间nue99wik1#
在JavaScript中,函数在
return
关键字求值后立即退出,这就是为什么它说你的代码不可访问,所以你必须重新构造你的代码,以便在代码末尾返回,所以你可以更新你的代码,看起来像这样: