技術情報ブログ
Power Platform
2022.01.26

Power AutomateでExcelからSharePointへ値を転記する際の対応方針(2):Officeスクリプト編

Power AutomateでExcelからSharePointへ値を転記する際の対応方針(2):Officeスクリプト編

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Automateを用いて業務を自動化していく中で、Excelに入力した値をデータベース化したい思ったことはありませんか?

本連載ではPower Automateを用いて、Excelに入力されたデータをSharePointへ値を転記する際の対応方針についてお伝えします。
これにより、Excelに入力された値を、SharePointにてデータベース化することができます。

内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。
また、少々コーディングの知識も必要となります。

Power Automate初心者の方は、以下の記事も参考にしてください。
Power AutomateでExcelデータをSharePointにインポートするために考えること(第1回)


前回は、Excelファイル内のテーブルを用いて、ExcelのデータをSharePointへ転記する方法を説明しました。
Power AutomateでExcelからSharePointへ値を転記する際の対応方針(1):Excelのテーブル編


今回は、Officeスクリプトを用いて、ExcelのデータをSharePointへ転記する方法を説明します。

 

ExcelからSharePointへ値を転記する際の対応方針

ExcelからSharePointへ値を転記する際には、Power Automateと以下の方法を組み合わせた2パターンが考えられます。

  • Excelファイル内のテーブルを用いる

  • Office スクリプトを用いる

今回は、「Officeスクリプトを用いる」方法について説明します。

 

Office スクリプトを用いる

Office スクリプトを用いてExcelの該当する値を取得し、SharePointへ転記する方法です。
この方法は、既存のExcelを加工せずに、使用することができます。

Office スクリプトとは、Web版のExcel(Excel on the web)での処理をスクリプトで自動化する機能です。

デスクトップ版のExcelでは、VBA(Visual Basic for Application)がありますが、こちらはPower Automateと連携できません。
一方、Office スクリプトはPower Automateと連携可能ですので、こちらを用いて値を転記します。

Office スクリプトについては、以下のURLを参照してください。
Microsoft:Excel on the web の Office スクリプト

手順としては以下です。

 

(1)Excelのセル名を変更

Excelのセル名を変更します。

詳細な内容は前回の記事を参考にしてください。
Power AutomateでExcelからSharePointへ値を転記する際の対応方針(1)
Excelのテーブル編【Excelのセル名を変更】

 

(2)Excelの各値をPower Automateへ返すOffice スクリプトを作成。

Office スクリプトを作成します。

ExcelをWeb上で開き、自動化タブ新しいスクリプトをクリックします。
すると、画面右側にコードエディターが表示されます。

【Power AutomateでExcelからSharePointへ】Office スクリプトの新規作成
Office スクリプトの新規作成

スクリプト名はgetValuesにしました。
また、コードエディターに以下を記載してください。

function main(workbook: ExcelScript.Workbook)
    {
        // 「申請書」シートを取得
        let applySheet = workbook.getWorksheet("申請書");

        // 各値の取得
        let name        = applySheet.getRange("Name").getValue();
        let mailAddress = applySheet.getRange("MailAddress").getValue();
        let contents    = applySheet.getRange("Contents").getValue();

        // 値を返す
        return {
            氏名: String(name),
            メールアドレス: String(mailAddress),
            内容: String(contents)
        }
    }
【Power AutomateでExcelからSharePointへ】作成したOffice スクリプト
作成したOffice スクリプト

「申請書」シート上のセルを指定し、各値を取得します。
また、取得した値をreturnオブジェクトにてPower Automateへ返します。

こちらでOffice スクリプトは完成です。

 

(3)Power AutomateからOffice スクリプトを実行し、各値を取得。その後、SharePointへ転記。

続いて、Power Automateを作成していきます。

【Power AutomateでExcelからSharePointへ】Power Automate(Office スクリプト)
Power Automate(Office スクリプト)

スクリプトの実行アクションを用いて、Excelの各値を取得します。
その後、ファイルのプロパティの更新アクションにて、SharePointへ値を転記しています。

 

実行結果

それでは作成したフローを実行しましょう。
実行方法は前回と同様に、保存しているExcelファイルの横にある三点リーダーから自動化作成したフロー名をクリックしてください。

SharePoint ドキュメントライブラリをご覧いただき、Excelの各値が転記されていることを確認してください。

 

注意点(フローを共有する場合)

Office スクリプトは作成されると、作成者のOneDrive上に保存されます。(2021年12月時点)

【Power AutomateでExcelからSharePointへ】Office スクリプトの保存場所
Office スクリプトの保存場所

よって、基本的にはOffice スクリプトは作成した本人しか実行することができません。

そのため、Power Automateを他の人と共有する際、「所有者」に設定してしまうと、共有された人はOffice スクリプトを実行することができず、エラーとなります。
(Officeスクリプトファイルを共有しても、実行することはできません。)

エラーを防ぐため、以下の方法にて共有を実施します。

次に、手順を詳しく紹介します。

 

共有するユーザーは「実行のみのユーザー」として登録

Power Automateの設定画面にて、所有者ではなく実行のみのユーザーにて共有します。
「実行のみのユーザー」の編集リンクをクリックし、ユーザーを追加します。

【Power AutomateでExcelからSharePointへ】実行のみのユーザー
実行のみのユーザー

 

「使用する接続」を「この接続 (フローの作成者のアカウント) を使用する」に変更

表示された画面内で共有するユーザーやグループを選択します。
また、「使用する接続」を「この接続 (フローの作成者のアカウント) を使用する」に変更します。

これにより、共有された人がフローを実行しても、Office スクリプトの実行はフローの作成者とすることができます。

【Power AutomateでExcelからSharePointへ】使用する接続の変更
使用する接続の変更

 

それぞれの方法におけるメリット・デメリット

本連載で紹介した2パターンについて、メリット・デメリットを以下にまとめました

 

メリット

デメリット

テーブルを用いる

・コーディングの知識が不要

・Excel内に別途シート、テーブルを準備する必要あり

Office スクリプトを用いる

・Excelの改変が不要

・コーディングの知識が必要

Office スクリプトはコーディングの知識が必要となります。
よって、コーディングをしなくても対応できる「テーブルを用いる」方法だと、比較的簡単に実装できます。

一方「Office スクリプトを用いる」方法の場合は、Excelにシートやテーブルを追加する必要がありません。
Excelに余計なデータを追加したくない場合は、Office スクリプトを用いるとよいでしょう。

 

さいごに

本連載ではPower Appsを用いることなく、ExcelからSharePointへ値を転記する際の対応方針についてお伝えしました。

それぞれの方法でメリット・デメリットがありますので、皆さんの要件に合わせて選択していただけますと幸いです。

 

この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.04.29

Dataverse応用(1)!列レベルのセキュリティを設定してみよう!-特定の列だけマスクする

2026.04.22

ソリューション内で異動・退職者のPower Apps/Power Automateなどを引き継ぐには?所有者変更の手順と注意点を解説

2026.04.15

SharePoint:『リンクのコピー』は危険?権限トラブルを防ぐ推奨運用を解説

2026.04.08

技術ブログ100本書いてみたら、想像以上に得るものがあった話

2026.04.01

社内に聞く人がいない「孤独なDX」を解決!アーティサンの内製化支援サービス

AccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key野良アプリ対策IT エンジニア 転職OneDrive1対多InfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キーCoEブログ モチベーションつながり参照多対多MatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェック内製化コンサルティングネタ切れ 対策システムカスタマイザーER図Angular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDITサポートAI ブログ 活用Connection Reference入門編データ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー月額定額PV数 増やす共同所有者1行テキストモデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キー委任問題権限トラブル主要な所有者複数行テキストPower AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Delegationアクセス権限環境変数選択肢Power PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援ファイルパスクラシック画面日付SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーMVP共有設定ソリューションエクスポート整数ExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約技術支援情報漏洩対策権限管理データ型Power AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ技術ブログ 書き方コマンドバーカスタマイズ組織変更C#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモードエンジニア ブログ メリットSharePoint管理センター注文管理アプリattributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替えブログ 継続 コツDLPサブグリッドvalidationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示技術力向上権限管理ベストプラクティスDataverse テーブルローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ文章力 鍛え方野良権限部署AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利アウトプット 重要性Teams ファイル共有リレーションシップ
PageTop
ページトップに戻る