Office Scripts

Office スクリプトを使ってSharePoint リストからExcelファイルに転記する方法

Power AutomateでSharePoint リスト(Microsoft Lists)から取得したデータを1レコードずつ整形してExcelに転記するフローの動作が遅いので解消したいとの質問がありました。

Power Automateには便利な「選択」アクションが用意されているので、こちらとOffice スクリプトを組み合わせることによって、必要な項目だけをExcelファイルに転記・整形することができます。

テスト用SharePoint リスト

今回使用するテスト用のリストは下図の通りで、「Title」列と「Memo」列をExcelファイルに転記します。

フローから渡されたデータをシートに書き込むスクリプト

次は使用するスクリプトです。

データに合わせて定義したinterfaceを配列として受け取って、セルに書き込むだけのシンプルなスクリプトです。
上記コードは単に値を書き込んでいるだけですが、必要に応じて整形・加工もできます。

SharePoint リストからExcelファイルに転記するフロー

次はSharePoint リストから必要な項目だけをExcelファイルに転記するPower Automateフローです。

フロー全体

複数の項目の取得

「複数の項目の取得」アクションで指定したSharePoint リストから項目を取得します。
今回はフィルター クエリで「startswith(Title, ‘テスト’)」と指定して、Title列が「テスト」から始まる項目のみを対象にしています。

選択

「複数の項目の取得」アクションでは様々なデータが結果として取得できますが、今回欲しいのは「Title」と「Memo」だけなので、「選択」アクションでTitleとMemoのみを選択します。

このアクションによって、下記のように必要な項目だけを配列として取得できます。

[
  {
    "title": "テスト1",
    "memo": "なにぬねの\r\nたちつてと"
  },
  {
    "title": "テスト2",
    "memo": "あいうえお\nかきくけこ"
  },
  {
    "title": "テスト4",
    "memo": "あああああ\nいいいいい"
  }
]
スクリプトの実行

「スクリプトの実行」アクションで事前に用意したスクリプトを実行します。
このとき、スクリプトの引数として選択アクションの「出力」(アレイ全体の入力)を指定します。

実行結果

結果は下図の通りで、指定した項目のみをExcelに転記できました。

掛かった時間は下図の通りですが、スクリプトの処理方法を変えればもう少し速くなるだろうと思います。

参考Webサイト

関連記事

2022年7月の人気記事前のページ

2022年8月の人気記事次のページ

関連記事

  1. Office Scripts

    Office Scripts機能によってWeb版Officeの操作を自動化する

    前回、Ignite 2019で発表されたPower Automate(…

  2. Office Scripts

    Office ScriptsとPower Automateで簡単なメールアーカイブを作る方法

    下記記事でも書いている通り、Office Scriptsのスクリプトは…

  3. Office Scripts

    [Office Scripts]グラフを作成する方法

    今回は、Office Scriptsのスクリプトでグラフを作成する方法…

  4. Power Automate for desktop

    [Power Automate]クラウドフローとデスクトップフローとのファイル連携について

    前回の記事でクラウドフローとデスクトップフローの連携について紹介しまし…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP