如何在 Office 脚本 Excel (Typescript) 中将整个 sheet 大写?

How do I uppercase an entire sheet in Office Scripts Excel (Typescript)?

我能够在 VBA 中完成以下操作,并且需要将我的脚本传输到 Excel 365 中的 Office 脚本。我不知道如何完成整个 sheet 而不仅仅是一个字符串。

这是我在VBA中使用的:

Dim rng As Range
Set rng = Selection
For Each cell In rng
cell.Value = UCase(cell)
Next cell

这对我有用,对于很多单元格可能有点麻烦,但应该仍然有效。

function main(workbook: ExcelScript.Workbook, worksheetName: string)
{
  let worksheet = workbook.getWorksheet(worksheetName);
  
  // Ge tthe Used Range on the given worksheet and all values.
  let usedRange = worksheet.getUsedRange(false);
  var values = usedRange.getValues();

  // Now loop through each cell and upper case it.
  for (var row = 0; row < values.length; row++) {
    for (var col = 0; col < values[row].length; col++) {
      values[row][col] = values[row][col].toString().toUpperCase();
    }
  }

  usedRange.setValues(values);
}

注意该函数有一个参数,因此预计会通过 PowerAutomate/LogicApps 使用,但如果您不希望这样那么您应该能够更改它以相对轻松地使用活动 sheet。

例如...

function main(workbook: ExcelScript.Workbook)
{
  let worksheet = workbook.getActiveWorksheet();

  ... continue the rest of the code here ...
}