MENU
IT
PR

【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

シートの操作 処理イメージ

OfficeScripts シートの操作 
OfficeScriptsの処理イメージ

上記の図でかなり、イメージを掴むことができたのではないでしょうか?

それでは、実際にソースコードを使用して使い方を紹介していきます。

Office Scriptsソースコード

今回は、処理イメージと同様にExcel上に5つのシートを作成した状態からコーディングを始めます。

1つのソースコードで紹介したFunctionを実行していきます。

Office Scripts

サンプルソースコード

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を使用しています。

Office Scripts

実行結果

各コマンドの実行結果が正しいか確認するために、コンソールに出力しています。

OfficeScriptsの処理結果

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操作を自動化することができますので、興味ある方は本ブログでも紹介していますのでぜひご覧ください!

ABOUT ME
ほし
ほし
エンジニア
ほしコラム管理人のほしです。 20代のITエンジニアです。 PowerAutomateで業務効率化の方法を中心に紹介していきます! たまに日常生活についても記事にしていきます! ほしコラム - にほんブログ村
記事URLをコピーしました