Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

 

Office Scripts は、Web 用 Excel (Excel Online) の機能で、ユーザーが JavaScript ベースのスクリプトを使用して反復的なタスクやワークフローを自動化できるようにします。従来の Excel マクロ (デスクトップ アプリでのみ機能する) とは異なり、Office スクリプトはクラウドベースであり、ブラウザーでシームレスに実行できます。データ処理、書式設定、レポートの自動化、Power Automate などの他の Microsoft 365 ツールとの統合に最適です。

このチュートリアルでは、Office スクリプトを使用して Excel Online のワークフローを自動化する方法を説明します。

Office スクリプトとは何ですか?

Office Script は、Excel Online のタスクとワークフローを自動化する JavaScript/TypeScript スクリプトです。書式設定、計算、データ操作などを処理できます。

  • 反復的なタスクを自動化する :時間を節約し、人的ミスを削減します。
  • クラウドでの作業 :デスクトップ Excel は必要ありません。 Excel Online が利用できる場所ならどこでも実行できます。
  • Power Automate との統合 :Microsoft 365 全体の複数ステップのワークフローの一部としてスクリプトをトリガーします。
  • コラボレーションを強化する :アクセス権を持つ人は誰でもスクリプトを実行または編集できます。

はじめに

前提条件:

  • Microsoft 365 Business または Education のサブスクリプション
  • Web 用 Excel へのアクセス
  • 管理者は Office スクリプト機能を有効にする必要があります。

Office スクリプトを見つける場所:

  • Excel Online とワークブックを開きます。
  • 自動化 に移動します。 タブ (上部のリボン)。
  • アクションを記録するオプションが表示されます。 と新しいスクリプト .

初めての Office スクリプトの作成

古いデータの消去、新しいデータのインポート、テーブルのフォーマットという単純なワークフローを自動化してみましょう。

ステップ 1:スクリプトを記録する

アクションを記録:

  • 自動化 に移動します。 タブ>> [アクションの記録] をクリックします。 .
  • Excel で必要な操作を実行します (セルの書式設定、数式の挿入など)。
  • 終了したら、[停止] をクリックします。 。スクリプトのアクションが記録されます。
  • スクリプトが保存され、コードを表示/編集できるようになります。

自動化する手順:

  • 自動化に移動します。 タブ>> [アクションの記録] をクリックします。 .

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

  • ヘッダーを選択し、太字にします。 .
  • 注文日を選択します。 列を選択し、短い日付として書式設定します。 .
  • 単価を選択します。 列を選択し、通貨として書式設定します。 .
  • 次の列 (E) に、ヘッダー Sales を追加します。 .
  • セル E2 に次の数式を挿入します。
  • 残りの行にこの数式を自動入力します。
  • [停止] をクリックします。 .

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

  • コード エディタでスクリプトを表示します。 .

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

スクリプトを編集します:

記録されたスクリプトは JavaScript で表示および編集できます。

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

Office スクリプト:

function main(workbook: ExcelScript.Workbook) {
 let selectedSheet = workbook.getActiveWorksheet();
 // Set font bold to true for range A1:D1 on selectedSheet
 selectedSheet.getRange("A1:D1").getFormat().getFont().setBold(true);
 // Set format for range A2:A11 on selectedSheet
 selectedSheet.getRange("A2:A11").setNumberFormatLocal("m/d/yyyy");
 // Auto fit the columns of range A:A on selectedSheet
 selectedSheet.getRange("A:A").getFormat().autofitColumns();
 // Set format for range D2:D11 on selectedSheet
 selectedSheet.getRange("D2:D11").setNumberFormatLocal("$#,##0.00");
 // An error occurred while recording this event.
 // Set range E2 on selectedSheet
 selectedSheet.getRange("E2").setFormulaLocal("=C2*D2");
 // Auto fill range
 selectedSheet.getRange("E2").autoFill("E2:E11", ExcelScript.AutoFillType.fillDefault);
}

ステップ 2:データの更新とフォーマットを自動化する

データの更新とフォーマットを自動化したいと考えてみましょう。

  • 既存のデータを消去します。
  • 別のワークシート (「RawData」) から新しいデータをコピーします。
  • データを「レポート」シートに貼り付けます。
  • 範囲をテーブルとしてフォーマットします。

スクリプトを手動で作成します:

  • 自動化に移動します。 タブ>> [新しいスクリプト] をクリックします。 .
  • コード エディタが開き、基本的な関数構造が表示されます。

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

Office スクリプト:

function main(workbook: ExcelScript.Workbook) {
 // Select the 'Report' worksheet
 let reportSheet = workbook.getWorksheet("Report");
 // Clear everything in A1:E15
 let clearRange = reportSheet.getRange("A1:E15");
 clearRange.clear(ExcelScript.ClearApplyTo.all);
 // Get the new data from 'RawData'!A1:E15
 let rawSheet = workbook.getWorksheet("RawData");
 let sourceRange = rawSheet.getRange("A1:E15");
 // Copy values, formulas, and number formats
 let values = sourceRange.getValues();
 let formulas = sourceRange.getFormulas();
 let numberFormats = sourceRange.getNumberFormats();
 // Paste new data into 'Report'
 let targetRange = reportSheet.getRange("A1:E15");
 targetRange.setValues(values);
 targetRange.setFormulas(formulas);
 targetRange.setNumberFormats(numberFormats);
 // Format as table
 let lastRow = values.filter(row => row[0] !== "").length + 1; // header + non-empty rows
 let tableRange = `A1:E${lastRow}`;
 let table = reportSheet.addTable(tableRange, true);
 table.setName("SalesReport");
 // Optional: Auto-fit columns
 reportSheet.getUsedRange().getFormat().autofitColumns();
}
  • 古いレポート データを消去します。
  • 生データのワークシート、データ型、数式から新しいデータをインポートします。
  • インポートされたデータをテーブルとしてフォーマットします。
  • 列を自動調整して読みやすくします。

ステップ 3:スクリプトを保存して実行する

  • [スクリプトを保存] をクリックします。 、名前を付けます(例:「Refresh Sales Report」)。
  • [実行] をクリックします。 実行します。プロセスは瞬時に行われ、レポートが更新されます。

生産性の向上:Office スクリプトを使用して Excel Online ワークフローを自動化する

Power Automate を使用したスクリプト実行の自動化

Power Automate を使用して、Office スクリプトを自動的にトリガーできます。

  • Power Automate に移動します。 新しいフローを作成します。
  • トリガーを使用します (例:「OneDrive でファイルが作成されたとき」)。
  • 実行スクリプトを追加します。 アクションをクリックして、Excel ワークブックとスクリプトを選択します。
  • 複数のステップのプロセスを自動化する:データの取得、処理、メールの送信、チームへの通知など

使用例: 毎週月曜日の朝にスクリプトを実行するようにスケジュールを設定し、更新されたレポートを電子メールで送信します。

ヒントとベスト プラクティス

  • わかりやすくするためにスクリプト内でコメントを使用します。
  • 実際のデータで実行する前にコピーでテストする
  • テーブルと範囲に明確な名前を付けます。
  • Power Automate と組み合わせてアプリ間ワークフローを実現します。
  • エラー処理を活用してスクリプトを堅牢にする

実際の例

  • 毎週の販売レポートの更新: 生の売上データを取得し、表を整理、要約、フォーマットする
  • 自動データ検証: 欠損値や重複値がないか確認し、ユーザーに警告します。
  • 一貫性を保つための書式設定: ワンクリックで会社のスタイル、ヘッダー、ロゴを適用します。
  • バッチデータ処理: 複数のシートまたはワークブックのデータを結合します。

結論

Office スクリプトは Excel の反復的なタスクを大幅に簡素化し、迅速かつ一貫したデータ操作とレポート作成を可能にします。 Power Automate などのより広範な自動化ソリューションに統合することで、業務運営のためのシームレスなワークフローを確立できます。シンプルに始めて、記録アクションを検討し、徐々に高度な自動化と Power Automate との統合を構築していきます。

ソリューション付きの高度な Excel 演習を無料で入手しましょう!
  1. 開かずに Excel を CSV に変換する方法 (4 つの簡単な方法)

    Excel を開かずに CSV に変換するための特別な方法を探しているなら、ここが最適です。 Microsoft Excel では、開かずに Excel を CSV に変換する方法が多数あります。この記事では、Excel を開かずに CSV に変換する 3 つの方法について説明します。このすべてを学ぶために完全なガイドに従ってみましょう. Excel を CSV に変換する 4 つの簡単な方法 次のセクションでは、開かずに Excel を CSV に変換する 3 つの効果的でトリッキーな方法を使用します。このセクションでは、3 つの方法について詳しく説明します。思考能力と Excel の知識

  2. Microsoft MyAnalytics の概要とその使用方法

    仕事の習慣に関するデータにアクセスできると、生産性の向上に関してさらに有利になります。 MyAnalytics は、データ主導の洞察を仕事の習慣に提供するための Microsoft のプラットフォームです。集中力を維持し、よりスマートに作業するのに役立ちます。 MyAnalytics ダッシュボードについて説明します。このダッシュボードでは、作業パターンに関する洞察と、よりスマートに作業するためのヒントを見つけることができます。 new の作成方法も紹介します 最も重要な仕事に集中するために、毎日の時間を確保するなどの作業パターン。 MyAnalytics プランとサポートされているブラ