//ファイル名を拡張子付きで取得する。
let bkname = workbook.getName()
//テーブル名を指定してテーブルを取得する。
let table = workbook.getTable("テーブル1")
//ブック内のすべてのテーブルを取得する。
let tables = workbook.getTables();
シート操作系
//アクティブシートを取得する。
//検証していないけど、Power Automateでリモート起動する場合アクティブをコントロールできないからこのコードは使わない方がいいかも。
let st = workbook.getActiveWorksheet();
//シートの一番左のシートを取得する。
let st = workbook.getFirstWorksheet();
//シートの一番左のシートを取得する。
let st = workbook.getWorksheets()[1];
//シートの名前を指定して取得する。
let st = workbook.getWorksheet("ST_NAME");
//シート名を取得する。
st.getName();
//シート名を変更する
st.setName("ST_CHANGED_NAME");
// シートをコピーする。
let dupst = st.copy(ExcelScript.WorksheetPositionType.after, st);
//シートを削除する。
st.Delete();
//シート内のすべてのテーブルを取得する。
let sheets = st.getTables();
//シート内のすべてのテーブルを取得する。
let tables = st.getTables();
//ブック内のすべてのテーブルを取得する。
let tables = workbook.getTables();
// テーブル化する。
let table = workbook.addTable(st.getRangeByIndexes(6, 1, lastrow, lastcol) , true);
//テーブル名を設定
table.setName("table1");
//既に存在するテーブルを取得する。
let table = workbook.getWorksheets()[0].getTables()[0];
//テーブルのデータを配列で取得する。(ヘッダーなし)
let data = table.getRangeBetweenHeaderAndTotal().getValues();
//テーブルのデータを配列で取得する。(ヘッダーあり)
let data = table.getRange().getValues();
//テーブルをソート(1列目を降順)
table.getSort().apply([{ key: 0, ascending: false }]);
データ範囲を取得する系
// データ有効範囲を取得する。
let values = st.getUsedRange().getValues();
// 最初の行番号
let firstRow = st.getUsedRange().getRowIndex();
// 最初の列番号
let firstCol = st.getUsedRange().getColumnIndex();
//最終行番号
let lastRow = st.getUsedRange().getLastRow().getRowIndex();
//最終列番号
let lastCol = st.getUsedRange().getLastColumn().getColumnIndex();
// 行方向のデータ個数
let lastRow = values.length
// 列方向のデータ個数
let lastCol = values[0].length
//テーブルされていないデータ範囲向け
//現在のセル範囲を行方向に1シフト、行サイズを―1する。
let data = rng.getOffsetRange(1, 0).getResizedRange(-1, 0).getValues();
データ範囲を書き出す系
//シートAのデータ範囲をシートBに書き出し。
let stA = workbook.getWorksheet("シートA");
let stB = workbook.getWorksheet("シートB");
data = stA.getUsedRange().getValues();
stB.getRangeByIndexes(0, 0, data.length, data[0].length).setValues(data);
データ範囲操作系(配列操作系)
//forEach
//アロー関数を使わない場合
sheets.forEach( function (sheet) {
console.log(sheet);
});
//アロー関数を使う場合
sheets.forEach( sheet => console.log(sheet));
//map
let arr = sheets.map(st => st.getName())
//mapとforeachの違いマップは結果を配列として返すことができる。
//forEachの場合
let arr:string[] = [];
sheets.forEach(st => arr.push(st.getName()))
//mapの場合
let arr = sheets.map(st => st.getName())
//firter関数
let arr = sheets.filter(sheet => sheet.getName() === "シート2")