「Power Automateクラウドフロー添付ファイルメール送信」のご購読ありがとうございます。
このページは、読者専用ページになります。
条件分岐などの長い式、JSONなどをコピペでアクションに追加できます。
※式は、fxに追加して下さい。
※入力が簡単な短いフィルタークエリや式はありません。
Buttonの列に追加したフロー実行ボタンのJSONは、ファイルにしてあります。
ダウンロードしてお使いください。
ダウンロードしてお使いください。
龍之介
※会社のセキュリティーによりダウンロードできない場合の対応はしていません。
メール送信ボタンのJSONファイル&フロー全体画像
JSONファイルとテキストファイルがあります。
※クリックした後に、次のダウンロードを押す必要があります。パスワードは、電子書籍の「SharePointリスト添付ファイルメール」の「選択したアイテムの場合」にあります。
作成ポイント
OneDrive添付ファイルメール
補足動画が2つあります。
龍之介
ファイルが作成されたとき(添付ファイル1つ)
共有リンクメールを送信
下記共有リンクを送ります。<br> <a href="@{outputs('共有リンクを作成する')?['body/WebUrl']}" target="_blank" rel="noopener noreferrer">@{outputs('ファイル_メタデータの取得')?['body/DisplayName']} </a><br>
選択したファイルの場合(添付ファイル複数)
JSONの解析
{ "type": "array", "items": { "type": "object", "properties": { "Id": { "type": "string" }, "Name": { "type": "string" }, "NameNoExt": { "type": "string" }, "DisplayName": { "type": "string" }, "Path": { "type": "string" }, "LastModified": { "type": "string" }, "Size": { "type": "integer" }, "MediaType": { "type": "string" }, "IsFolder": { "type": "boolean" }, "ETag": { "type": "string" }, "FileLocator": { "type": "string" }, "LastModifiedBy": { "type": "string" } }, "required": [ "Id", "Name", "NameNoExt", "DisplayName", "Path", "LastModified", "Size", "MediaType", "IsFolder", "ETag", "FileLocator", "LastModifiedBy" ] } }
ファイルがあるかチェック
length(body('アレイのフィルター処理'))
Attachment配列変数に追加
{ "Name": @{items('ループ処理で添付ファイルの配列を作成')['DisplayName']}, "ContentBytes": @{body('ファイル_コンテンツの取得')} }
FileLink文字列変数に追加
concat('<li><a href="',outputs('共有リンクを作成する')?['body/WebUrl'],'" target="_blank" rel="noopener noreferrer">',item()?['DisplayName'],'</a></li><br>')
SharePointリスト添付ファイルメール
補足動画が2つあります。
龍之介
項目が作成されたとき(添付ファイル複数)
Attachment配列添付ファイル
{ "Name": @{items('Apply_to_each')?['DisplayName']}, "ContentBytes": @{body('添付ファイルのコンテンツの取得')} }
FileLink文字列変数に追加
concat('<li><a href="',item()?['AbsoluteUri'],'?web=1"',' target="_blank" rel="noopener noreferrer">',item()?['DisplayName'],'</a></li><br>')
選択したアイテムの場合(添付ファイル複数)
項目が作成されたとき(添付ファイル複数)のフローをコピーしてトリガーを変更する手順なので、コピーする式などはありません。
龍之介
SharePointドキュメントライブラリ添付ファイルメール
補足動画が2つあります。
龍之介
ファイルが作成されたとき(プロパティのみ)(添付ファイル1つ)
共有リンクメールを送信
下記共有リンクを送ります。<br> <a href="@{outputs('ファイルまたはフォルダーの共有リンクの作成')?['body/link/webUrl']}" target="_blank" rel="noopener noreferrer">@{outputs('ファイル_メタデータの取得')?['body/DisplayName']} </a><br>
トリガー条件
@equals(triggerOutputs()?['body/{IsFolder}'],false)
選択したファイルの場合(添付ファイル1つ)
拡張子付きファイル名を抽出
item()?['{FilenameWithExtension}']
ファイルがあるかチェック
length(body('アレイのフィルター処理'))
ファイル メタデータの取得、ファイルコンテンツの取得
item()?['{Identifier}']
添付ファイル
{ "Name": @{items('ループ処理で添付ファイルの配列を作成')?['{FilenameWithExtension}']}, "ContentBytes": @{body('ファイル_コンテンツの取得')} }
文字列変数に追加
concat('<li><a href="',outputs('ファイルの共有リンクの作成')?['body/link/webUrl'],'" target="_blank" rel="noopener noreferrer">',item()?['{FilenameWithExtension}'],'</a></li><br>')
Forms添付ファイルメール
補足動画が1つあります。
龍之介
新しい応答が送信されるとき(OneDrive添付ファイル複数)
ファイルがあるかチェック
length(body('アレイのフィルター処理'))
添付ファイル
{ "Name": @{items('ループ処理で添付ファイルの配列を作成')?['DisplayName']}, "ContentBytes": @{body('ファイル_コンテンツの取得')} }
新しい応答が送信されるとき(SharePoint添付ファイル複数)
ファイルの取得 (プロパティのみ)
Author/EMail eq '@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/mail']}'
ファイルがあるかチェック
length(outputs('ファイルの取得_(プロパティのみ)')?['body/value'])
添付ファイル
{ "Name": @{items('ループ処理で添付ファイルの配列を作成')?['{FilenameWithExtension}']}, "ContentBytes": @{body('ファイル_コンテンツの取得')} }
拡張子付きファイル名を抽出
item()?['{FilenameWithExtension}']
FileLink文字列変数に追加
<li><a href="@{outputs('ファイルまたはフォルダーの共有リンクの作成')?['body/link/webUrl']}" target="_blank" rel="noopener noreferrer">@{outputs('ファイルの移動')?['body/DisplayName']}</a></li><br>
Teams投稿添付ファイルメール
補足動画が2つあります。
龍之介
チャネルに新しいメッセージが追加されたとき(添付ファイル複数)
ファイルの取得 (プロパティのみ)フィルタークエリ
FileLeafRef eq '@{items('Apply_to_each')?['name']}'
ファイル メタデータの取得、ファイルコンテンツの取得
first(outputs('ファイルの取得_(プロパティのみ)')?['body/value'])?['{Identifier}']
添付ファイル
{ "Name": @{items('Apply_to_each')?['name']}, "ContentBytes": @{body('ファイル_コンテンツの取得')} }
FileLink文字列変数に追加
<li><a href="@{outputs('ファイルまたはフォルダーの共有リンクの作成')?['body/link/webUrl']}" target="_blank" rel="noopener noreferrer">@{items('Apply_to_each')?['name']}</a></li><br>
トリガー条件
@greaterOrEquals(length(triggerOutputs()?['body/attachments']),1)
選択されたメッセージに対して(V2)(添付ファイル複数)
選択されたメッセージに対して(V2)
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.3", "body": [ { "type": "Input.ChoiceSet", "choices.data": { "type": "Data.Query", "dataset": "graph.microsoft.com/users" }, "placeholder": "ユーザー名を入力して追加してください。", "id": "peoplemail", "isMultiSelect": true } ], "actions": [ { "type": "Action.Submit", "title": "送信" } ] }
添付ファイルがあるかチェック
length(body('メッセージ詳細を取得する')?['attachments'])
ループ処理で送信ユーザーを作成
split(triggerBody()?['cardOutputs']?['peoplemail'],',')
contentUrl
body('メッセージ詳細を取得する')?['attachments']?[0]?['contentUrl']
Library
decodeUriComponent(substring(outputs('contentUrl'),nthIndexOf(outputs('contentUrl'),'/',5),sub(lastIndexOf(outputs('contentUrl'),'/'),nthIndexOf(outputs('contentUrl'),'/',5))))
SiteAddress
substring(outputs('contentUrl'),0,nthIndexOf(outputs('contentUrl'),'/',5))
Apply to each
body('メッセージ詳細を取得する')?['attachments']
ファイルの取得 (プロパティのみ)フィルタークエリ
FileLeafRef eq '@{items('Apply_to_each')?['name']}'
ファイル メタデータの取得
first(outputs('ファイルの取得_(プロパティのみ)')?['body/value'])?['{Identifier}']
ファイル コンテンツの取得
first(outputs('ファイルの取得_(プロパティのみ)')?['body/value'])?['{Identifier}']
添付ファイル
{ "Name": @{items('Apply_to_each')?['name']}, "ContentBytes": @{body('ファイル_コンテンツの取得')} }
FileLink文字列変数に追加
<li><a href="@{outputs('ファイルまたはフォルダーの共有リンクの作成')?['body/link/webUrl']}" target="_blank" rel="noopener noreferrer">@{items('Apply_to_each')?['name']}</a></li><br>
拡張子付きファイル名を抽出(開始)
body('メッセージ詳細を取得する')?['attachments']
拡張子付きファイル名を抽出(マップ)
item()?['name']
選択されたメッセージに対して(V2)補足動画内のJSON
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.3", "body": [ { "type": "TextBlock", "text": "宛先", "wrap": true }, { "type": "Input.ChoiceSet", "choices.data": { "type": "Data.Query", "dataset": "graph.microsoft.com/users" }, "placeholder": "ユーザー名を入力して追加してください。", "id": "peoplemail", "isMultiSelect": true }, { "type": "TextBlock", "text": "件名", "wrap": true }, { "type": "Input.Text", "placeholder": "件名を入力してください。", "id": "subtitle", "IsRequired": true, "errorMessage": "件名を入力してください。" }, { "type": "TextBlock", "text": "本文", "IsRequired": true, "wrap": true }, { "placeholder": "本文を入力してください。", "type": "Input.Text", "id": "mailbody", "spacing": "None", "IsRequired": true, "isMultiline": true, "errorMessage": "本文を入力してください。" } ], "actions": [ { "type": "Action.Submit", "title": "送信" } ] }