VBA позволяет вам получить доступ к каждой ячейке на итерации, используя для l oop. То, что я сделал в TypeScript, чтобы воспроизвести это для диапазона, это загрузить свойства столбцов и строк и сохранить значения в переменных:
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
const range = context.workbook.getSelectedRange();
range.load(["columnIndex", "columnCount", "rowCount", "rowIndex"]);
let col_1 = range.columnIndex; //first column index
let nc = range.columnCount; //number of columns
let row_1 = range.rowIndex; //first row
let nr = range.rowCount; //number of rows
Затем вы можете получить доступ к каждой ячейке с двумя циклами for:
for (let r = 0; r < nr; r++) {
for (let c = 0; c < nc; c++) {
cell = sheet.getCell(r + row_1, c + col_1);
cell.load(["address", "values", "formulasR1C1", "format"]);
await context.sync();
let cell_add = cell.address;
let cell_val = cell.values[0][0]; //values of a cell/range is always a matrix
if (cell_val <= 5) {
//do something
}
}
};
Код, возможно, не самый лучший, но он работал для меня.
Надеюсь, это поможет.