メインコンテンツまでスキップ

SharePointデータリストとPDFドキュメントを結合する

10分読み取り
PDF4me Team

メールマージ は、デジタル文書化時代および関連する業務自動化業界で使われる「大げさな」用語です。これは、数百の文書で繰り返される大量のデータを処理する労力を軽減し、特定のデータにわずかな変更を加えることで、最終的にカスタマイズされた文書テンプレートを作成できる機能です。簡単に説明しましょう。多くの人に招待状を送りたいが、作成する招待状のそれぞれに宛名を書く必要があるとします。郵便時代であれば、招待者の数を制限して招待状に名前を書き始めるか、ライターを増やす以外に「ホブソンの選択」しかありません。デジタル世界では、SharePoint、PDF4me、Power automateなどのツールを使用して、この面倒な作業を簡素化する多くのオプションがあります。

では、職場における現状を例に、想像力をさらに広げてみましょう。適切な社内ツールがなければ、業務、リソース、資料の管理や共同作業はほぼ不可能です。SharePointは、Microsoftが提供する、企業が文書の統合や保存に広く利用している、いわば「控えめな」プラットフォームの一つです。その主な機能は「サイト」と「リスト」です。SharePointリストは、複数のレコードやデータの組み合わせを快適に格納できます。

PDF4meは、あらゆる種類の文書の作成、編集、スキャン、処理に使用できるツールです。このブログでは、PDF4meと既存の不完全な文書テンプレートを使用してSharePointからメールマージを実行する方法を示し、カスタマイズ可能な再利用可能な文書テンプレートの作成を支援します。この自動化機能は、提案書、契約書、RFPなどの文書作成に活用できます。

既存のテンプレートとは、共通のデータセットが既に入力された未完成の文書またはフォームであり、SharePointリストからの動的なデータ入力を待っている状態です。テンプレートは、残りの未入力のフィールドまたはスペースに様々なデータが入力され、特定の出力が作成される時点で完成します。これは、今後の使用のためにSharePointのフォルダーまたはサイトに保存されます。

この記事では、SharePoint リストに顧客の詳細が入力されると、システムによって特定のフォーム (テンプレート) が自動的に入力されるというシンプルな自動化について説明します。出力は、新しく到着した顧客データとテンプレートに事前に入力されたデータが組み合わされた完全なフォームになります (ここでは、簡略化のために空白のドキュメントを使用します)。始める前に、メールマージの 3 つの要素を念頭に置いておく必要があります。

  • 顧客データ入力トリガー付きのSharePointリスト
  • 既存のテンプレート(docファイルまたはpdfファイル形式の汎用データを含む)
  • SharePoint 内の出力/完成したテンプレートを保存する場所

実現しようとしているシナリオは、SharePoint リストに新しいアイテムが追加された際に、「PDF4me メールマージ」アクションを使用してレポートを生成したり、フォームに入力したりすることです。SharePoint のデータ収集機能を使用して、PDF4me メールマージ機能でドキュメント (Word および PDF) を作成できます。最終的に、これらのドキュメントは指定した場所に保存したり、メールで共有したりできます。ここでは、最終出力が特定の場所に保存されるワークフローの開発について考えてみましょう。

_図 Start-PDF4me-MailMerge-From-SharePoint-List: フローの作成方法_

まず、顧客データの入力が行われている企業のSharePointリスト画面から始めます。次に、ワークフローを作成します。スクリーンショットにあるように、Power Automateタブから「ワークフローの作成」オプションを選択します。

既に一部入力済みのテンプレートまたはフォームが用意されています。このようにテンプレートまたはフォームを選択します。作成時には、必要に応じてより多くのデータを事前に入力したり、より大きなテンプレートを作成したりできます。ここでは、説明のためにシンプルな空白のテンプレートを使用しています。

収集された顧客データは、テンプレート文書と統合され、各リスト項目に対応する出力文書が生成されます。

_図 Output-PDF4me-MailMerge-from-SharePoint-List: 生成されたドキュメントの出力_

この自動化プロセス全体は、文書の作成と保存をわずか7つのステップで完了します。この特定のケースにおける自動化プロセスは、以下の図のように7つのステップを強調して図示することで説明できます。

_図 Power Automate: SharePoint を使用したデータ文字列 (ドキュメントのリスト) によるメールマージのワークフロー_

ステップ1:トリガー実行

Power Automateには、ワークフローを開始するためのさまざまな種類のトリガーが用意されています。また、定期的に実行するようにスケジュール設定することも可能です。この例では、SharePointリストにアイテムが作成されたときにワークフローをトリガーします。

サイトアドレスには、SharePointのURLを入力できます。リスト名には、サイトアドレスに応じたデータ収集リストの名前を指定できます。

ステップ2:SharePointパスを使用してテンプレートファイルの内容を選択します

この手順では、SharePointリスト内の動的データとマージするために使用するドキュメントテンプレートファイルを選択します。

テンプレートは任意の場所に保存できます。この例では、SharePoint の場所を選択しました。「SharePoint URL」としてサイトアドレスを入力してください。SharePoint サイト内のファイルディレクトリの一覧からファイルパスを選択し、マージに使用するテンプレートの種類も選択してください。

ステップ3:SharePointリストからアイテムを抽出する

この手順では、SharePointリストからデータ項目を抽出します。これらのリスト項目は後でJSON配列型に変換され、PDF4meの差し込み印刷アクションの入力として使用されます。

下記の説明に従って、すべての項目に詳細を記入してください。

  • サイトアドレス:SharePointのURL
  • リスト名:データ収集リスト名(サイトアドレスに基づいて表示されます)
  • フォルダへのエントリを制限する: 該当なし。この特定のユースケースでは、この設定は無視しても構いません。
  • ネストされたアイテムを含める: 該当なし。この場合は、このフィールドも無視できます。
  • フィルタークエリ:検索時に項目を絞り込むためのフィルタークエリを指定できます。
  • 並べ替え順序:リストから項目を取得する順序を指定します。
  • トップカウント:取得するリスト項目の総数。
  • ビューによる列の制限: 該当なし、このユースケースではこのフィールドを無視します。

ステップ4:データ文字列を準備するための文字列変数を初期化する

このステップでは、メールマージの入力となるデータ文字列を作成するために、文字列変数を宣言します。

ステップ5:各項目に適用する:項目のリストをループ処理し、必要なデータ文字列を準備する データ文字列アクションを使用したメールマージのパラメータの1つに「データ文字列」があります。この変数を使用すると、データリストをループ処理して、以下のように目的のデータ文字列を作成できます。JSON構造の例(リスト配列):

[ ["FieldName1", "FieldName2", "FieldName3"], ["FieldValue1", "FieldValue2", "FieldValue3"], ["FieldValue4", "FieldValue5", "FieldValue6"] ]

この手順では、SharePoint リストアイテムをループ処理し、メールマージ用の最終的な「データ文字列」パラメーターを準備します。この手順の結果として、連結された文字列が手順 4 で宣言された変数に割り当てられます。

ステップ6:PDF4me - データ文字列(ドキュメント一覧)を使用したメールマージ

このステップでは、SharePointリストから取得した複数の入力データ値に基づいてドキュメントが生成されます。リスト内の各アイテムごとにドキュメントが生成されます。

フィールドへの入力方法は以下のとおりです。

「テンプレートファイルデータ」フィールドには、ステップ2の「テンプレートファイルの内容」が入力されます。

「テンプレートファイル名」には、テンプレート名とファイル拡張子が表示されます(サポートされている形式は.docxと.pdfです)。

「データ文字列」フィールドには、テンプレートとのマージに使用する動的なデータ値が格納されます。このフィールドの連結された文字列値を取得する方法を見ていきましょう。そのためには、テンプレートファイルのデータをマッピングし、PDF4meのメールマージアクションを使用してデータ文字列を準備します。データ文字列は、以下に示すように文字列関数で割り当てられます。

concat(‘[[“Name”,”City”,”Zip”,”Country”]’,variables(‘DataListString’),‘]’)

図示された関数内の「DataListString」は、準備された形式でリスト項目を含む変数です。

ステップ7:出力ドキュメントをSharePointの場所に保存する

この手順では、生成されたドキュメントを任意の場所に保存します。Power Automateに関連付けられているストレージプロバイダーの任意の場所にファイルを保存できます。このユースケースでは、SharePoint自体に保存します。

以下の説明のとおり、フィールド入力項目として以下の詳細情報を提供します。

「サイトアドレス」:SharePoint の URL 「フォルダーパス」:出力ドキュメントを保存するフォルダーパスを選択します。「ファイル名」:PDF4me アクションの結果からファイル名を選択します。「ファイルコンテンツ」:PDF4me アクションの結果からファイルコンテンツを選択します。

この方法を使えば、メールマージ機能を利用して、テンプレートを使ったカスタマイズが必要な日々のワークフローを7つのステップで自動化できます。名前、住所、メールアドレスなどのフィールドを置き換えて特定の受信者向けにコピーを作成するだけで、毎回同じ文書を編集する手間を省き、魔法のようなワークフローを構築できます。これにより、組織の生産性とパフォーマンスを大幅に向上させることができます。