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

Office Scriptsで別ブックを開いてデータ取得する方法|OneDrive・SharePoint連携でExcel自動化

別ブックを開いてデータ取得する実践テクニック
別ブックを開いてデータ取得する実践テクニック

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

生徒

「Office Scriptsで別のExcelブックを開いて、データを取得することってできますか?OneDriveやSharePointに保存してあるファイルから読み込みたいです。」

先生

「できますよ。Office Scriptsを使えば、OneDriveやSharePoint上の別ブックを指定してデータを取得し、今開いているExcelに取り込むことができます。」

生徒

「プログラミングをやったことがないんですが、大丈夫でしょうか?」

先生

「大丈夫です。ファイルを開くという操作を、コードで書くだけです。ひとつずつ丁寧に見ていきましょう。」

1. Office Scriptsで別ブックを開くとは?

1. Office Scriptsで別ブックを開くとは?
1. Office Scriptsで別ブックを開くとは?

Office Scriptsとは、Excel Onlineで使える自動化機能です。ブラウザ版のExcelで動作し、OneDriveやSharePointに保存されたExcelファイルを対象に処理を行います。

今回のテーマは、別ブックを開いてデータ取得する方法です。ブックとはExcelファイルのことです。つまり、別のExcelファイルからデータを読み込むという意味です。

たとえば、売上データが保存されたファイルと、集計用のファイルが分かれている場合、毎回コピーして貼り付けるのは大変です。そこでOffice Scriptsを使えば、自動で別ブックを開いて必要なデータを取得できます。

これは、倉庫にある箱を毎回手で取りに行く代わりに、自動で運んでくれるロボットを作るイメージです。

2. OneDriveとSharePointの基本を理解しよう

2. OneDriveとSharePointの基本を理解しよう
2. OneDriveとSharePointの基本を理解しよう

Office Scriptsで別ブックを開くためには、OneDriveまたはSharePointにファイルが保存されている必要があります。

OneDriveは、Microsoftが提供するオンラインストレージサービスです。インターネット上の保存場所と考えると分かりやすいです。

SharePointは、会社やチームでファイルを共有するためのクラウドサービスです。複数人で同じExcelファイルを管理する場合に使われます。

Office Scriptsはクラウド上で動作するため、ローカルパソコンに保存されたファイルは直接開けません。この点は初心者がよく間違えるポイントです。

3. 別ブックからデータを取得する基本コード

3. 別ブックからデータを取得する基本コード
3. 別ブックからデータを取得する基本コード

それでは実際に、別のExcelファイルからデータを取得する基本コードを見てみましょう。


async function main(workbook: ExcelScript.Workbook) {

  const sourceWorkbook = workbook.getApplication().openWorkbookFromOneDrive(
    "https://onedrive.live.com/xxxx/売上データ.xlsx"
  );

  const sourceSheet = sourceWorkbook.getWorksheet("Sheet1");
  const value = sourceSheet.getRange("A1").getValue();

  const targetSheet = workbook.getActiveWorksheet();
  targetSheet.getRange("A1").setValue(value);
}

asyncという言葉は、少し待つ処理があることを意味します。別ブックを開く処理は時間がかかるため、この書き方になります。

openWorkbookFromOneDriveは、OneDrive上のExcelファイルを開くための命令です。URLを指定することで、特定のファイルを開きます。

4. 複数セルをまとめて取得する方法

4. 複数セルをまとめて取得する方法
4. 複数セルをまとめて取得する方法

実務では、1つのセルだけでなく、表全体を取得したい場合が多いです。その場合は、範囲をまとめて取得します。


async function main(workbook: ExcelScript.Workbook) {

  const sourceWorkbook = workbook.getApplication().openWorkbookFromOneDrive(
    "https://onedrive.live.com/xxxx/売上データ.xlsx"
  );

  const sourceSheet = sourceWorkbook.getWorksheet("Sheet1");
  const data = sourceSheet.getRange("A1:C5").getValues();

  const targetSheet = workbook.getActiveWorksheet();
  targetSheet.getRange("A1:C5").setValues(data);
}

getValuesは、複数のデータをまとめて取得する命令です。setValuesでまとめて貼り付けできます。

これは、1枚ずつ紙を運ぶのではなく、箱ごとまとめて運ぶようなイメージです。

5. SharePoint上のファイルを開く方法

5. SharePoint上のファイルを開く方法
5. SharePoint上のファイルを開く方法

SharePointに保存されたExcelファイルも同様に開くことができます。URLを指定するだけです。


async function main(workbook: ExcelScript.Workbook) {

  const sourceWorkbook = workbook.getApplication().openWorkbook(
    "https://company.sharepoint.com/sites/営業部/売上.xlsx"
  );

  const sheet = sourceWorkbook.getWorksheet("データ");
  const total = sheet.getRange("B2").getValue();

  workbook.getActiveWorksheet().getRange("B2").setValue(total);
}

openWorkbookは、SharePoint上のブックを開くための命令です。会社でのExcel自動化ではよく使われます。

6. 取得したデータを加工して保存する

6. 取得したデータを加工して保存する
6. 取得したデータを加工して保存する

データを取得するだけでなく、計算や加工も可能です。たとえば、売上合計を計算することもできます。


async function main(workbook: ExcelScript.Workbook) {

  const sourceWorkbook = workbook.getApplication().openWorkbookFromOneDrive(
    "https://onedrive.live.com/xxxx/売上データ.xlsx"
  );

  const sheet = sourceWorkbook.getWorksheet("Sheet1");
  const values = sheet.getRange("A1:A5").getValues();

  let sum = 0;
  for (let i = 0; i < values.length; i++) {
    sum += Number(values[i][0]);
  }

  workbook.getActiveWorksheet().getRange("B1").setValue(sum);
}

for文は、同じ処理を繰り返すための書き方です。Numberは文字を数値に変換する命令です。

このように、Office Scriptsを使えば、別ブックのデータ取得、集計、保存までを完全自動化できます。

Excel自動化、業務効率化、OneDrive連携、SharePoint連携といったキーワードで検索される内容にも対応できる重要なテクニックです。初心者の方でも、ファイルを開く、データを読む、書き込むという基本を押さえれば、応用はどんどん広がります。

まとめ

まとめ
まとめ

今回は、Office Scriptsで別ブックを開いてデータ取得する方法について、OneDriveやSharePointと連携しながらExcel自動化を行う流れを詳しく学びました。Office Scriptsは、Excel Onlineで動作するクラウド型の自動化機能であり、ローカルファイルではなく、OneDriveやSharePoint上のExcelファイルを対象に処理を行う点が大きな特徴です。

別ブックを開くという処理は、openWorkbookFromOneDriveやopenWorkbookといった命令を使って実現できます。URLを指定することで、クラウド上に保存されたExcelファイルへアクセスし、必要なワークシートやセル範囲を取得できます。これにより、毎回手作業でコピー貼り付けを行う必要がなくなり、Excel業務の効率化や自動化を大きく進めることができます。

また、getValueやgetValuesを使うことで、単一セルだけでなく、表形式のデータをまとめて取得できることも重要なポイントです。取得したデータは、setValueやsetValuesで現在のブックへ書き戻すことができ、集計や加工処理と組み合わせることで実務に直結する仕組みを構築できます。

さらに、for文を使った繰り返し処理やNumberによる数値変換を組み合わせれば、売上合計の計算やデータの整形といった応用的な処理も可能です。Office ScriptsとOneDrive連携、SharePoint連携を理解することで、Excel自動化、業務効率化、クラウド活用といった現代の働き方に必要なスキルを身につけることができます。

ここで、今回学んだ内容を踏まえたサンプルプログラムをもう一度確認してみましょう。別ブックからデータを取得し、合計を計算して書き込む流れをまとめています。


async function main(workbook: ExcelScript.Workbook) {

  const sourceWorkbook = workbook.getApplication().openWorkbookFromOneDrive(
    "https://onedrive.live.com/xxxx/売上データ.xlsx"
  );

  const sheet = sourceWorkbook.getWorksheet("Sheet1");
  const values = sheet.getRange("A1:A10").getValues();

  let total = 0;
  for (let i = 0; i < values.length; i++) {
    total += Number(values[i][0]);
  }

  const targetSheet = workbook.getActiveWorksheet();
  targetSheet.getRange("B1").setValue("売上合計");
  targetSheet.getRange("B2").setValue(total);
}

このように、Office Scriptsで別ブックを開いてデータ取得し、集計して書き込むという一連の流れを理解すれば、Excel自動化は一気に現実的なスキルになります。OneDrive保存、SharePoint共有、クラウド環境でのExcel運用と組み合わせることで、複数人でのデータ管理やレポート作成も効率的に行えるようになります。

最初はコードが難しく感じるかもしれませんが、やっていることは「ファイルを開く」「データを読む」「計算する」「書き込む」という四つの基本操作です。この基本をしっかり理解することが、Office Scripts活用の第一歩です。Excel自動化を実現したい方、業務効率化を目指す方、OneDriveやSharePointと連携したクラウド運用を行いたい方にとって、非常に重要な技術と言えるでしょう。

先生と生徒の振り返り会話

生徒

「Office Scriptsで別ブックを開いてデータ取得する方法が、だいぶ理解できました。OneDriveやSharePointに保存されているExcelファイルしか開けないという点が特に大事ですね。」

先生

「その通りです。Office Scriptsはクラウド上で動作する自動化機能なので、クラウド保存が前提になります。Excel自動化を成功させるには、この仕組みを理解することが重要です。」

生徒

「openWorkbookFromOneDriveやopenWorkbookを使って別ブックを開き、getValuesでまとめて取得して、setValuesで書き込む流れですね。for文で合計も計算できました。」

先生

「素晴らしい理解です。データ取得、集計、加工、保存まで一連の処理ができれば、業務効率化に直結します。Excel作業を自動化することで、手作業のミスも減らせます。」

生徒

「これなら、毎月の売上集計や報告書作成も自動化できそうです。Office ScriptsとOneDrive連携、SharePoint連携をもっと活用してみたいです。」

先生

「ぜひ挑戦してください。Excel自動化とクラウド連携を組み合わせれば、作業時間短縮だけでなく、データ管理の精度も向上します。今回学んだ別ブックデータ取得の技術は、その土台となる重要な知識です。」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで別ブックを開いてデータ取得する方法|OneDrive・SharePoint連携でExcel自動化
New2
Excel VBA
Excel VBAの引数名と型をわかりやすく設計する方法!初心者向けガイド
New3
Office Scripts
Office Scriptsでブックを自動保存する方法!Excel Online×OneDrive×SharePointでファイルを安全に管理するスクリプト入門
New4
Office Scripts
VBAから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
Office Scripts
Office Scriptsの基本!関数分割で読みやすいExcel自動化コードを設計する方法
No.4
Java&Spring記事人気No4
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.5
Java&Spring記事人気No5
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
No.6
Java&Spring記事人気No6
Excel VBA
Excel VBAの引数の使い方を基礎から理解しよう!ByValとByRefの違いも初心者向けに徹底解説
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.8
Java&Spring記事人気No8
Office Scripts
Office ScriptsでExcelの条件付き書式を自動化!アイコンセット・データバー設定のやり方をやさしく解説