【OfficeScripts】シートの操作〜使い方〜
こんにちは、ほしコラムの管理人のほしです。
今回は、「Office Scripts」のシートの操作について紹介していきます。
Office ScriptsはVBAに代わるExcelの自動化プログラミング言語になります。
Excel操作を自動化してみたいと思っている方はぜひ読んでみてください。
- アクティブのワークシートの取得
- 「シート名」を指定してワークシートの取得
- 最初のワークシートの取得
- 末尾のワークシートの取得
- ワークシート一覧の取得
- ワークシートの挿入・削除
はじめに
本記事で紹介するOffice Scriptsのfunctionは以下の通りです。
これらを使用することで、Excelの自動化の幅が広がると思います。ぜひ読んでみてください!
- WorkBookオブジェクトから呼び出し
- workbook. getActiveWorksheet()
- workbook.getWorksheet( 名前 )
- workbook.getFirstWorksheet()
- workbook.getLastWorksheet()
- workbook.getWorksheets()
- workbook.addWorksheet( 名前 )
- Worksheetオブジェクトから呼び出し
- worksheet.delete()
上記のfunctionをわかりやすくイメージ化したものは以下のようになっています。
シートの操作 処理イメージ
上記の図でかなり、イメージを掴むことができたのではないでしょうか?
それでは、実際にソースコードを使用して使い方を紹介していきます。
Office Scriptsソースコード
今回は、処理イメージと同様にExcel上に5つのシートを作成した状態からコーディングを始めます。
1つのソースコードで紹介したFunctionを実行していきます。
サンプルソースコード
1function main(workbook: ExcelScript.Workbook) {
2
3 //ワークシートの一覧を取得
4 let sheets = workbook.getWorksheets();
5 log_sheets(sheets);
6 //最初のワークシートの取得
7 const firstSheet = workbook.getFirstWorksheet();
8 console.log(firstSheet.getName());
9 const lastSheet = workbook.getLastWorksheet();
10 console.log(lastSheet.getName());
11 //アクティブなワークシートの取得 → sheet5がアクティブ
12 const activeSheet = workbook.getActiveWorksheet();
13 console.log(activeSheet.getName());
14 //名前を指定してワークシートの取得
15 const nameSheet = workbook.getWorksheet('Sheet2');
16 console.log(nameSheet.getName());
17
18 //ワークシートの挿入
19 workbook.addWorksheet('Sheet6')
20 //ワークシートの削除 → nameSheetには"sheet2"が格納されている。
21 nameSheet.delete()
22
23 //シート一覧を出力するFunction
24 function log_sheets(sheet : ExcelScript.Worksheet[]){
25
26 for (let i = 0 ; i < sheets.length; i++ ){
27
28 console.log( i+1 + '番目のシート' + sheets[i].getName());
29 }
30 }
31}
サンプルソースコードは基本的に、処理イメージと同じように作成していますが、各シートの情報を出力するのに、functionを使用しています。
実行結果
各コマンドの実行結果が正しいか確認するために、コンソールに出力しています。
Sheet1~5が存在する状態で、「getWorkSheets()」を実施しているので5つのシート情報を取得できています。
「getFirstWorksheet()」で最初のシート、「getLastWorksheet()」で最後のシートが取得できています。
「getActiveWorksheet()」ではアクティブなシートの「Sheet5」が取得できています。
「getWorkSheet(シート名)」は、ソースコード通りシート名を指定して取得することができています。
「addWorkSheet(シート名)」でシートの挿入、「worksheet.delete()」で「sheet2」を削除しています。
さいごに
今回は、OfficeScriptsでExcelのシート操作を自動化することができました。
本記事で紹介したFunctionをまとめさせていただきます。
- WorkBookオブジェクトから呼び出し
- workbook. getActiveWorksheet() → アクティブなワークシートの取得
- workbook.getWorksheet( 名前 ) → 名前を指定してワークシートの取得
- workbook.getFirstWorksheet() → 最初のワークシートの取得
- workbook.getLastWorksheet() → 最後のワークシートの取得
- workbook.getWorksheets() → ワークシート一覧の取得
- workbook.addWorksheet( 名前 ) → ワークシートの追加
- Worksheetオブジェクトから呼び出し
- worksheet.delete() → ワークシートの削除
OfficeScriptsではExcel操作を自動化することができますので、興味ある方は本ブログでも紹介していますのでぜひご覧ください!