【Excel】Office Scriptsの基本!ExcelオンラインでTypeScript自動化を始める方法

【Excel】Office Scriptsの基本!ExcelオンラインでTypeScript自動化を始める方法
🛡️ 超解決

Excel for the web(Excelオンライン)で作業を自動化したいと考えている方もいるでしょう。Office Scriptsを使えば、TypeScriptでExcelの操作を自動化できます。この記事では、Office Scriptsの基本的な使い方を解説します。Office Scriptsを使いこなすことで、定型作業を効率化できます。

Office Scriptsは、Excel for the webで利用できる自動化機能です。JavaScript/TypeScriptで記述したスクリプトを実行することで、繰り返し行う作業を自動化できます。この機能は、Excel for Microsoft 365のWeb版で利用可能です。デスクトップ版Excelには搭載されていません。

Office Scriptsを使うと、データ入力、書式設定、レポート作成などの定型業務を自動化できます。これにより、作業時間を大幅に削減し、ヒューマンエラーを防ぐことができます。また、作成したスクリプトは共有できるため、チーム内での作業効率化にも貢献します。まずは、Office Scriptsの基本的な概念と、スクリプトの作成・実行方法を理解しましょう。

【要点】Office ScriptsでExcelオンラインを自動化する基本

  • Office Scripts: Excel for the webでJavaScript/TypeScriptを用いて作業を自動化する機能です。
  • TypeScript: JavaScriptのスーパーセットであり、静的型付けなどの機能を持つ言語です。
  • コードエディター: Excel for the web上でスクリプトを作成・編集・実行するためのインターフェースです。
  • 自動化のメリット: 定型作業の効率化、ヒューマンエラーの削減、作業時間の短縮を実現します。

ADVERTISEMENT

Office Scriptsの概要とTypeScriptについて

Office Scriptsは、Microsoft 365のサブスクリプションに含まれる機能です。Excel for the web上で、コードエディターを使ってスクリプトを作成・編集・実行できます。作成したスクリプトは、OneDrive for Businessに保存され、共有することも可能です。これにより、チームメンバー間で同じ自動化プロセスを共有できます。

スクリプトの記述にはTypeScriptが使用されます。TypeScriptはJavaScriptに静的型付けなどの機能を追加した言語であり、コードの可読性や保守性を高めるのに役立ちます。JavaScriptの知識があれば比較的容易に習得できます。Office Scriptsでは、Excelの操作を行うための豊富なAPIが提供されています。これらを利用して、セルの値の取得・設定、書式変更、グラフ作成、テーブル操作など、様々な処理を自動化できます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

Office Scriptsの作成と実行方法

Office Scriptsを作成するには、Excel for the webを開き、「自動化」タブから「すべてのスクリプト」を選択します。初めてOffice Scriptsを使用する場合、「Office Scripts」という名前の新しいブックが作成されます。このブックには、サンプルスクリプトが含まれていることもあります。

新しいスクリプトを作成するには、「+新しいスクリプト」ボタンをクリックします。すると、コードエディターが開きます。コードエディターでは、TypeScriptのコードを記述し、保存、実行できます。スクリプトの実行は、エディター内の「実行」ボタンをクリックすることで行えます。また、既存のスクリプトを編集したい場合は、一覧から該当するスクリプトを選択し、「開く」ボタンをクリックします。

  1. Excel for the webを開く
    ブラウザでExcel for the webにアクセスし、対象のブックを開きます。
  2. 「自動化」タブを選択
    リボンの「自動化」タブをクリックします。
  3. 「すべてのスクリプト」を選択
    「自動化」タブ内にある「すべてのスクリプト」をクリックします。
  4. 新しいスクリプトを作成
    「+新しいスクリプト」ボタンをクリックして、コードエディターを開きます。
  5. TypeScriptコードを記述
    エディターに自動化したい処理をTypeScriptで記述します。
  6. スクリプトを保存
    「保存」ボタンをクリックして、スクリプトに名前を付けて保存します。
  7. スクリプトを実行
    「実行」ボタンをクリックして、スクリプトをブックに適用します。

サンプルスクリプト: アクティブシートの全セルに背景色を設定する

ここでは、アクティブなシートの全てのセルに黄色い背景色を設定する簡単なTypeScriptスクリプトを例に、Office Scriptsの基本的な使い方を解説します。このスクリプトは、Excel for the webのコードエディターで直接入力して実行できます。

  1. 新しいスクリプトの作成
    上記「Office Scriptsの作成と実行方法」の手順に従い、新しいスクリプトを作成します。
  2. コードエディターにコードを貼り付け
    開いたコードエディターに、以下のTypeScriptコードをコピー&ペーストします。

“`typescript
function main(workbook: ExcelScript.Workbook) {
// アクティブなワークシートを取得します。
let selectedSheet = workbook.getActiveWorksheet();

// ワークシートの全てのセル範囲を取得します。
let usedRange = selectedSheet.getUsedRange();

// セル範囲が存在する場合(シートにデータがある場合)のみ処理を実行します。
if (usedRange) {
// 全セルに黄色い背景色を設定します。
usedRange.getFormat().getFill().color = “#FFFF00”; // 黄色
console.log(“アクティブシートの全セルに背景色を設定しました。”);
} else {
console.log(“シートにデータがありません。背景色は設定されませんでした。”);
}
}
“`

  1. スクリプトの保存
    「保存」ボタンをクリックし、スクリプトに「SetYellowBackground」のような名前を付けて保存します。
  2. スクリプトの実行
    コードエディターの「実行」ボタンをクリックします。

スクリプトが正常に実行されると、アクティブなシートの全てのセルに黄色い背景色が設定されます。コンソールログには、実行結果が表示されます。

ADVERTISEMENT

Office Scriptsの高度な機能と活用例

Office Scriptsでは、単なる書式設定だけでなく、より複雑な自動化も可能です。例えば、複数のシートからデータを集計したり、条件に基づいてデータを整形したりすることができます。

データ集計と整形: 複数のシートに分かれている売上データを1つのシートに集計し、月別や商品別に集計表を作成するスクリプトを作成できます。これにより、手作業でのデータ集計にかかる時間を大幅に削減できます。

条件付き書式の設定: 特定の条件を満たすセルに自動的に色を付けたり、アイコンを設定したりするスクリプトも作成可能です。例えば、在庫数が一定以下になった商品をハイライト表示させることができます。

外部データとの連携: Power Automateと連携させることで、Office Scriptsをさらに強力に活用できます。例えば、フォームからの回答をトリガーにしてExcelのデータを更新し、その後Office Scriptsで集計・レポート作成を行うといったワークフローを構築できます。

Office Scriptsの制限事項と注意点

Office Scriptsは非常に便利ですが、いくつかの制限事項と注意点があります。これらを理解しておくことで、予期せぬ問題を回避できます。

デスクトップ版Excelとの互換性

Office ScriptsはExcel for the web専用の機能です。デスクトップ版Excelでは実行できません。デスクトップ版Excelで自動化を行いたい場合は、VBA(Visual Basic for Applications)を使用する必要があります。ただし、VBAとOffice Scriptsの間で直接的な互換性はありません。

実行時間とリソース制限

Office Scriptsには実行時間の上限があります。長時間かかる処理をスクリプトで行おうとすると、タイムアウトエラーが発生する可能性があります。また、一度に処理できるデータ量にも制限がある場合があります。大量のデータを扱う場合は、処理を分割したり、より効率的なコードを記述したりする工夫が必要です。

セキュリティと共有

Office ScriptsはOneDrive for Businessに保存されます。スクリプトを共有する際は、アクセス権限に注意が必要です。機密情報を含むスクリプトを不用意に共有すると、情報漏洩のリスクがあります。共有する相手や権限設定を慎重に検討しましょう。

デバッグとエラーハンドリング

Office Scriptsには、ブレークポイントを設定してステップ実行するような高度なデバッグ機能は、現時点では提供されていません。そのため、コードエディターのコンソールログを活用したり、`console.log()`を適切に挿入したりして、デバッグを行う必要があります。また、予期せぬエラーが発生した場合に備えて、try-catchブロックなどを用いたエラーハンドリングを実装することが推奨されます。

Office ScriptsとPower Automateの連携

Office Scriptsは、Power Automateと連携させることで、より高度な自動化シナリオを実現できます。Power Automateは、様々なアプリケーションやサービスを連携させてワークフローを自動化するサービスです。Office ScriptsをPower Automateのフロー内で呼び出すことで、Excel for the web上の操作をトリガーとしたり、他のサービスと連携させたりすることが可能になります。

連携のシナリオ例

例えば、以下のようなシナリオが考えられます。

  • SharePointリストの更新をトリガーにExcelデータを自動更新: SharePointリストに新しい項目が追加されたら、Power Automateがそれを検知し、Office Scriptsを呼び出してExcel for the webの該当シートにデータを追記・更新する。
  • 定期実行されるレポート作成: Power Automateのスケジュール機能を使って、毎日または毎週決まった時間にOffice Scriptsを実行し、最新のデータに基づいたレポートを生成する。
  • メール受信をトリガーにExcel操作: 特定のメールが受信されたら、Power Automateが添付ファイルをOneDriveに保存し、Office Scriptsでそのファイルを処理して結果を別の場所に記録する。

Power AutomateでのOffice Scriptsの呼び出し方

Power AutomateでOffice Scriptsを呼び出すには、「Excel Online (Business)」コネクターの「スクリプトの実行」アクションを使用します。このアクションでは、実行したいスクリプトを選択し、必要に応じてパラメーターを渡すことができます。スクリプトの実行結果もPower Automateのフロー内で受け取ることができ、その結果を基に次の処理を実行することも可能です。

まとめ

Office Scriptsを学ぶことで、Excel for the webでの定型作業をTypeScriptを用いて自動化できます。この記事では、Office Scriptsの基本概念、スクリプトの作成・実行方法、サンプルコード、そしてPower Automateとの連携について解説しました。Office Scriptsを活用すれば、作業効率の向上やミスの削減が期待できます。

まずは、簡単なスクリプトから作成し、徐々に複雑な処理に挑戦してみてください。Office ScriptsとPower Automateを組み合わせることで、さらに幅広い自動化が可能になります。ぜひ、Office ScriptsでExcel作業の効率化を実現してください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】