カテゴリ: Office Scripts 更新日: 2026/02/03

Office Scriptsの基本!Excel自動化で使う関数とコードの書き方

ブック間データ連携の実装テクニック
ブック間データ連携の実装テクニック

先生と生徒の会話形式で理解しよう

生徒

「Excelの別のブックにあるデータを、自動でまとめたいんですが、Office Scriptsでできますか?」

先生

「できますよ。Office Scriptsでは、Excelワークブックやワークシートを操作して、データをコピーしたり貼り付けたりできます。」

生徒

「ブック間って難しそうです…。パソコンもあまり触ったことがなくて…」

先生

「大丈夫です。ノートから別のノートに書き写すイメージで、順番に説明しますね。」

1. Office Scriptsでいう「ブック間データ連携」とは

1. Office Scriptsでいう「ブック間データ連携」とは
1. Office Scriptsでいう「ブック間データ連携」とは

Office Scriptsにおけるブック間データ連携とは、複数のExcelワークブック(Excelファイル)にまたがってデータをやり取りする考え方です。現実の作業でたとえると、「Aというノートに書いてある表を、Bというノートに写す」作業に近いです。

Excel OnlineのOffice Scriptsは、基本的に今開いているワークブックを操作します。そのため、直接ほかのブックを開いて操作することはできません。しかし、OneDriveやSharePointに保存されたExcelと組み合わせることで、実務では十分なデータ連携が実現できます。

検索キーワードとしては、「Office Scripts ブック間 連携」「Excel 自動化 データ連携」「Office Scripts ワークブック 操作」などで調べる人が多い分野です。

2. 初心者が知っておくべきOffice Scriptsの前提ルール

2. 初心者が知っておくべきOffice Scriptsの前提ルール
2. 初心者が知っておくべきOffice Scriptsの前提ルール

まず大切なのは、Office ScriptsはExcel Online専用という点です。パソコンに入っているExcelではなく、ブラウザで開くExcelで使います。

また、Office ScriptsはTypeScriptというプログラミング言語で書きます。といっても、難しい数式や記号はほとんど使いません。「どのシートの、どのセルに、何を書くか」を順番に書くだけです。

ブック間データ連携では、次の考え方が基本になります。

  • 元データがあるワークブックを開く
  • コピー用のシートを用意する
  • コピー先のワークブックで貼り付ける

この流れを理解するだけで、Office ScriptsによるExcel自動化が一気に身近になります。

3. 同じブック内でのデータコピーを理解しよう

3. 同じブック内でのデータコピーを理解しよう
3. 同じブック内でのデータコピーを理解しよう

いきなり別ブックは難しいので、まずは同じワークブック内のシート間コピーから見ていきます。これは、教室の中で席を移動するような感覚です。


function main(workbook: ExcelScript.Workbook) {
  const sheetA = workbook.getWorksheet("Sheet1");
  const sheetB = workbook.getWorksheet("Sheet2");

  const sourceRange = sheetA.getRange("A1:C3");
  const targetRange = sheetB.getRange("A1");

  targetRange.copyFrom(sourceRange);
}

このコードでは、「Sheet1のA1からC3まで」を、「Sheet2のA1」にコピーしています。getRangeは「この範囲を指定する」という意味です。

初心者の方は、「コピー元」と「コピー先」を意識するだけで十分です。

4. ブック間連携の基本アイデアを理解する

4. ブック間連携の基本アイデアを理解する
4. ブック間連携の基本アイデアを理解する

Office Scripts単体では、別のワークブックを直接開けません。そのため、実務ではPower Automateと組み合わせる方法がよく使われます。

考え方はとてもシンプルです。

  • ① 元ブックでOffice Scriptsを実行してデータを整える
  • ② Power Automateで別ブックを開く
  • ③ 整えたデータをコピーする

この記事ではOffice Scriptsの範囲に絞り、「コピーしやすい形を作る」部分を丁寧に解説します。

5. ブック間連携を意識したデータ整形のコード例

5. ブック間連携を意識したデータ整形のコード例
5. ブック間連携を意識したデータ整形のコード例

ブック間データ連携では、1行目に見出し、2行目以降にデータという形がとても重要です。これは、表計算ソフト共通の基本です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();

  sheet.getRange("A1").setValue("名前");
  sheet.getRange("B1").setValue("売上");

  sheet.getRange("A2").setValue("りんご");
  sheet.getRange("B2").setValue(120);
}

このようにデータをそろえておくと、別ブックに貼り付けても崩れません。検索では「Excel データ整形 自動化」「Office Scripts 表 作成」といったキーワードでよく調べられます。

6. シートを新しく作って連携用データをまとめる

6. シートを新しく作って連携用データをまとめる
6. シートを新しく作って連携用データをまとめる

ブック間連携では、連携専用シートを作るのがおすすめです。これは、引き出しを分けて整理する感覚です。


function main(workbook: ExcelScript.Workbook) {
  const newSheet = workbook.addWorksheet("連携用");

  newSheet.getRange("A1").setValue("商品");
  newSheet.getRange("B1").setValue("数量");
}

このシートだけをコピー対象にすれば、ミスが減り、初心者でも安心して運用できます。

7. 実行結果のイメージを確認しよう

7. 実行結果のイメージを確認しよう
7. 実行結果のイメージを確認しよう

上記のスクリプトを実行すると、Excel上では次のような結果になります。


A1:商品
B1:数量

文字が自動で入力されるだけでも、「Excelが勝手に動いた!」と実感できます。これがExcel自動化の第一歩です。

8. ブック間データ連携でよくある失敗と対策

8. ブック間データ連携でよくある失敗と対策
8. ブック間データ連携でよくある失敗と対策

初心者がつまずきやすいポイントは、「シート名の間違い」「セル範囲の指定ミス」「全角と半角の混在」です。

特にシート名は、Excelに表示されている名前と完全一致していないと動きません。「連携用」と「連携 用」は別物です。

Office ScriptsでのExcelワークブック操作は、丁寧さが最大のコツです。焦らず、一つずつ確認しましょう。

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法