リライブシャツすごすぎワロタwwwwww【リライブシャツを買ってみたらガチだった。】 リライブシャツ 着るだけで「身体機能をサポートする」怪しいシャツがガチだった。 YouTubeやSNSでバズってた「リライブ...
じょじお
この記事は書きかけです。officeスクリプトの良く使うコードを貯めています。なるべくコピペで使いまわしできるようにしているつもりです。良かったら使ってください。
目次
ブック操作系
//ファイル名を拡張子付きで取得する。 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();
セル範囲操作系
//表示形式の設定(桁区切りあり、小数点以下2桁表示、単位:円) st.getRange("D2:E8").setNumberFormat("#,##0.00円"); //列幅をデータのサイズに合わせて自動調整する。 st.getUsedRange().getFormat().autofitColumns();
テーブル操作系
//シート内のすべてのテーブルを取得する。 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")
デバッグ
console.log(VARIABLE);