PDFファイルをOneDriveで一括管理する
解決できる課題
複数のPDFファイルをOneDriveの特定のフォルダに保存し、ファイル名を自動で整理します。
完成イメージ

必要なもの
- OneDrive コネクタ
作り方
複数人からの提出を受け付けるOneDriveのフォルダある場合に有効です。
提出されたファイルは、提出者や提出日に合わせ、ファイル名を規則で統一します。
※ファイル名を統一できれば、その規則に従い、さらにフォルダ分けも可能です(条件を使う)
- 1. トリガー「ファイルが作成されたとき」を設定
[フォルダー]には、PDFファイルの提出先フォルダを指定します。
※OneDriveの場合、共有フォルダにすれば、複数人からのアップロードが受け付け可能です
※今回はOneDriveを想定していますが、SharePointでも同じことができます
- 2. アクション「ファイルのコピー」を設定
[ファイル]は、一意の識別子を設定するので「ファイル識別子」にします。
[対象ファイルのパス]は、フォルダーのパスとアップロードされた「ファイル名」を使用します。
なお、この段階でファイル名は変更可能ですが、アップロードしたユーザー名や日付は指定できません。
※例えば、ユーザー名は、triggerOutputs()?['body/CreatedBy/displayName']
など
日付は、formatDateTime(triggerOutputs()?['body/Created'],'yyMMdd')
など
理由は、triggerOutputs()
にdisplayName
やCreated
の値が含まれないからです。
ですので、項番3でリネーム(名前の変更)を行います。
ちなみに、[上書きする]は「はい」にしておくと、アップロードが複数回にわたってもコピーが成功します。
※「いいえ」の場合、同じファイル名がすでにあるため、エラーとなります
- 3. アクション「ファイルの移動または名前変更」を設定
[ファイル]は、項番1のトリガーの方ではなく、項番2のコピーの方を指定します。
[対象ファイルのパス]は、フォルダーのパスとファイル名を指定します。
ここで、「最終更新者」や「最終変更時刻」の設定が可能です。
※「最終変更時刻」は、そのままにせず、下記の要領でフォーマットを指定します
formatDateTime(outputs('ファイルのコピー')?['body/LastModified'],'yyMMdd')
なお、yyMMdd
は、お好みの表記に変更可能です
ファイル名を作っているので、最後尾に拡張子を必ず付けてください。
[上書きする]は、ここでも「はい」にします。
アップロードされるファイルは、下図のようにファイル名に規則がなくても問題ありません。
項番3のアクションで、下図のようにリネームされます。