添付ファイルをPower Automateで処理
添付ファイルをPower Appsでデータソースとして登録せずにPower Automateで処理する方法。
添付ファイルコントローラーはデータソースに一時的にShare Pointを追加し
Formを作ろうとすると、添付ファイルコントローラーが自動的に追加されるので、
その添付ファイルコントローラーを切り取りして使うと効率が良い。
Galleryを追加しておき、Itemsには「colItemAttachmentFile」を設定しておく。
Gallery内にはテキストと画像を配置し、それぞれ「ThisItem.Name」と「ThisItem.Value」を設定しておく。
Galleryは非表示としておく。
画面でボタンをクリックしたら以下の処理を行う。
ClearCollect(colItemAttachmentFile, S01_atc_添付ファイル.Attachments);
ForAll(S01_gly_添付ファイル一覧.AllItems As tmp,
Collect(colUpdateFile,
{
Title: tmp.Name,
FileData: tmp.S01_obj_添付ファイルオブジェクト.Image,
Name: tmp.Name,
Value: tmp.S01_obj_添付ファイルオブジェクト.Image
}
)
);
Collect(colItemBase, {添付ファイル: colUpdateFile});
Set(gblJSONData, JSON(colItemBase, JSONFormat.IncludeBinaryData));
PowerAutomate名称.Run(gblJSONData)
Power Automateの処理は以下の通り。
・Share Pointコネクタ-新しいフォルダの作成
一覧またはライブラリ:ドキュメント
フォルダーのパス:00_管理/添付資料/Share PointのID/日付
・それぞれに適用する:添付ファイル
前のステップから出力を選択します:body(‘JSON_の解析’)
・JSONの解析:添付ファイル
Content:items(‘それぞれに適用する:添付ファイル’)[‘添付ファイル’]
Schema:以下の内容
{
"type":"array",
"items": {
"type":"object",
"properties": {
"FileData": {
"type":"string"
},
"Title": {
"type":"string"
}
},
"required": [
"FileData",
"Title"
]
}
}
・それぞれに適用する:添付ファイル単一
前のステップから出力を選択します:body(‘JSON_の解析:添付ファイル’)
・変数の設定
名前:添付ファイル識別子
値:string(variables(‘添付ファイル識別子整数’))
・変数の設定
名前:添付ファイル名分割配列
値:split(items(‘それぞれに適用する:添付ファイル単一’)[‘Title’],’.’)
・変数の設定
名前:添付ファイル名の日付付与
値:concat(variables(‘添付ファイル名分割配列’)[sub(length(variables(‘添付ファイル名分割配列’)), 2)],’_’,variables(‘添付ファイル識別子’))
・変数の設定
名前:添付ファイル名禁則文字置換
値:replace(items(‘それぞれに適用する:添付ファイル単一’)[‘Title’],variables(‘添付ファイル名分割配列’)[sub(length(variables(‘添付ファイル名分割配列’)), 2)],variables(‘添付ファイル名の日付付与’)),’>’,”)
上記以外に「<」などの禁則文字を空欄に置換