1. 全体の流れを理解しよう
今回の自動化は以下の流れで動きます。
① SharePoint上のファイルを選択 → ② Power AutomateでWordをPDFに変換 → ③ PDFファイルを自動生成(または上書き)
この一連の処理を「クラウドフロー」と呼びます。
最初に一度設定してしまえば、以後はボタンひとつで変換が完了します。
2. フローを作成する(Word → PDF変換)
手順①:トリガーを設定する
- SharePointドキュメントライブラリを開きます。
- 上部メニューの 「自動化」→「Power Automate」→「フローの作成」 をクリック。
- 「空のフロー」から開始し、名前を「Convert Word to PDF」とします。
- トリガーに 「ファイルが選択されたとき(for a selected file)」 を設定します。
これで、ユーザーが特定のファイルを選んで実行できるようになります。
手順②:ファイル情報を取得する
- 新しいステップを追加し、「SharePoint」→「Get file properties」を選択。
- サイトURLとドキュメントライブラリを指定。
- 「ID」には動的コンテンツの「Identifier(識別子)」を選択。
手順③:WordファイルをPDFに変換する
- 次のステップで「Word」→「Convert Word Document to PDF」を選択。
- 「ファイル名」は「ファイル名(拡張子付き)」を動的コンテンツから選択。
- その前に「/」スラッシュを追加して、
/ファイル名.docxの形式になるようにします。
⚠️ IDではなく「ファイルパス」を指定する点がポイントです。
手順④:PDFを作成する
- 「SharePoint」→「Create file」を選択。
- 保存先のフォルダーを指定(例:
Demo Documents)。 - ファイル名に「ファイル名.pdf」を設定。
- ファイルコンテンツには「Convert Word Document to PDF」の出力を選択。
これで、WordをPDFとして保存する基本の自動化が完成です🎉
3. 既存ファイルを上書き保存する設定
同じファイル名で再度変換を行うと、既定ではエラーになります。
これを防ぐには、「一時フォルダーで作成 → 既存フォルダーに移動(上書き)」という手順を追加します。
手順①:PDFを一時フォルダーに作成
TemplateFolderなどの中間フォルダーにファイルを保存します。
手順②:「Move file」アクションを追加
- 「SharePoint」→「Move file」を追加。
- 移動元:先ほどのPDFファイル
- 移動先:本番フォルダー(例:
Demo Documents) - 上書き設定:「既存のファイルを置き換える」を選択。
これで、同名ファイルがあっても自動で上書きされます。
4. SharePointに変換ボタンを追加する(JSONフォーマット)
Power Automateをメニューから起動するのは面倒ですよね。
ここでは**「Convert to PDF」ボタン**をSharePoint上に直接追加します。
手順①:カラムを追加
- ドキュメントライブラリで「列の追加」→「テキスト」を選択。
- 列名は
ConvertPDFとします(スペースなしが推奨)。
手順②:列の書式設定を開く
- 列の「設定」→「列の書式設定」→「詳細モード」に切り替え。
- Microsoft公式のPMPポータル(Power Platform Community)からJSONコードを取得。
- JSONコードを貼り付けて、
flowIdを自分のフローIDに置き換えます。
(Power AutomateのURLの中に含まれる英数字のIDです)
手順③:ボタンのテキストを変更(任意)
JSON内の "Execute a flow" を "Convert to PDF" に変更すればOK。
保存すると、SharePointの一覧に「Convert to PDF」ボタンが表示されます!
5. 動作確認と便利なカスタマイズ
- Wordファイルを選択して「Convert to PDF」ボタンをクリック。
- 数十秒後、PDFファイルが生成されます。
- 同名ファイルがある場合は上書きされます。
💡応用アイデア:
- 既にPDFのファイルにはボタンを非表示にする
- PDFを別フォルダーへ自動移動
- 日付付きファイル名でバージョン管理
よくある質問(FAQ)
Q1. 「Convert Word Document to PDF」でエラーが出ます。
A. ファイルIDではなく「ファイル名(拡張子付き)」+スラッシュの形式を使用してください。
Q2. PDFが上書きされずにエラーになります。
A. 一時フォルダーで作成後、「Move file」アクションで上書きする設定を行ってください。
Q3. JSONボタンが動作しません。
A. flowIdが正しく設定されているか、環境IDが一致しているかを確認してください。
Q4. PDFファイルだけボタンを非表示にできますか?
A. JSONの条件分岐で "if(@endswith([$FileType], 'pdf'), '', ボタンコード)" のように設定可能です。
