Power Automate お助けレシピ集

PDFファイルをOneDriveで一括管理する

公開日: 2025-08-22|カテゴリ: ファイル・データ管理|難易度: 中級

解決できる課題

複数のPDFファイルをOneDriveの特定のフォルダに保存し、ファイル名を自動で整理します。

完成イメージ

Flowchart for PDFファイルをOneDriveで一括管理する

必要なもの

  • OneDrive コネクタ

作り方

複数人からの提出を受け付けるOneDriveのフォルダある場合に有効です。
提出されたファイルは、提出者や提出日に合わせ、ファイル名を規則で統一します。
 ※ファイル名を統一できれば、その規則に従い、さらにフォルダ分けも可能です(条件を使う)

 

  • 1. トリガー「ファイルが作成されたとき」を設定

[フォルダー]には、PDFファイルの提出先フォルダを指定します。
 ※OneDriveの場合、共有フォルダにすれば、複数人からのアップロードが受け付け可能です
 ※今回はOneDriveを想定していますが、SharePointでも同じことができます
フォルダーの指定

 

  • 2. アクション「ファイルのコピー」を設定

[ファイル]は、一意の識別子を設定するので「ファイル識別子」にします。
[対象ファイルのパス]は、フォルダーのパスとアップロードされた「ファイル名」を使用します。
なお、この段階でファイル名は変更可能ですが、アップロードしたユーザー名や日付は指定できません
 ※例えば、ユーザー名は、triggerOutputs()?['body/CreatedBy/displayName']など
  日付は、formatDateTime(triggerOutputs()?['body/Created'],'yyMMdd')など
理由は、triggerOutputs()displayNameCreatedの値が含まれないからです。
ですので、項番3でリネーム(名前の変更)を行います。
ちなみに、[上書きする]は「はい」にしておくと、アップロードが複数回にわたってもコピーが成功します。
 ※「いいえ」の場合、同じファイル名がすでにあるため、エラーとなります
複数回にアップロードが予想される場合は上書きは「はい」にする

 

  • 3. アクション「ファイルの移動または名前変更」を設定

[ファイル]は、項番1のトリガーの方ではなく、項番2のコピーの方を指定します。
[対象ファイルのパス]は、フォルダーのパスとファイル名を指定します。
ここで、「最終更新者」や「最終変更時刻」の設定が可能です。
 ※「最終変更時刻」は、そのままにせず、下記の要領でフォーマットを指定します
  formatDateTime(outputs('ファイルのコピー')?['body/LastModified'],'yyMMdd')
  なお、yyMMddは、お好みの表記に変更可能です
ファイル名を作っているので、最後尾に拡張子を必ず付けてください。
[上書きする]は、ここでも「はい」にします。
フォルダーの指定

 

アップロードされるファイルは、下図のようにファイル名に規則がなくても問題ありません。
フォルダーの指定

 

項番3のアクションで、下図のようにリネームされます。 フォルダーの指定

関連レシピ