PowerApps│添付ファイルをメールでかんたんに送る方法

アイキャッチ




こんにちは、あんこ先生です。

アプリから直接ファイルを手軽に送りたいときありませんか?

業務日報などのアプリでもSharePointリストに保存すればファイルを送ることができます。

でも、ファイルを送るためだけにいくつもあるフォームを入力するのは煩わしいですよね。

そこで、今回はファイルだけをかんたんに送る方法を紹介します。

さらに、アプリの印刷機能で作成したPDFもそのまま送れちゃう優れものです。

いつもどおり、コードは極力コピペで動くようにしています。

さっそく試してみましょう!


添付ファイルの基本的な使い方はこの記事をご覧ください。

できること
  1. 添付ファイル保存時にメールを送る
  2. SharePointリストに保存した履歴やファイルを残さず送る
  3. 印刷機能で作成したPDFをすぐ送る

添付ファイル保存時にメールを送る

アプリで添付ファイルを保存したのに、別途メールでまた添付するのって煩わしいですよね。

また、重複した作業を行うことでミスを誘発する恐れもあります。

そんな問題を解決するために、アプリで添付ファイルを保存したタイミングでメールも送ってしまいましょう。


事前準備

①空のSharePointリストを作成します。

②SharePointからリストを作成した場合、会議名(タイトル)が入力必須になってしまうため、解除しておきます。

右上歯車→リストの設定→項目名

③フォームコントロールを1つ、ボタンを2つ、アイコンを1つを作成します。

④フォームコントロールは、添付ファイル以外の項目を削除しておきます。

埋め込むコードは下記のとおりです。

フォーム
Form1.DataSource

添付用リスト

Newモード切替用ボタン
Button1.OnSelect

NewForm(Form1)

Print用アイコン
Icon1.OnSelect

Print()

Newモード切替用ボタン
Button2.OnSelect

SubmitForm(Form1)


保存時にメール

やり方はとてもかんたん3ステップです。

フォームコントロールOnSuccessプロパティに次のコードを埋め込みます。

Form1.OnSuccess

Office365Outlook.SendEmailV2(
    "メールアドレス",
    "タイトル",
    "本文",
    {Attachments:AddColumns(
    RenameColumns(Form1.LastSubmit.添付ファイル,
	"DisplayName","Name",
    "Value","ContentBytes"),
	"@odata.type","")
	}
);

②添付ファイルを枠内に放り込む。

SubmitForm関数を実行する。

これでSharePointリストに保存された添付ファイルがメールとして送信されます。


コードの補足

添付ファイルを送るためには、項目名を整える必要があります。

これはRenameColumns関数で行えます。

この過程を踏んで、フォームコントロールが正常に更新された場合、添付ファイルがメール送信されます。

応用すれば、Teamsへの投稿やPlannerのタスクに添付できそうですね。

保存せずにメールを送る

SharePointの容量を圧迫したくない、履歴を残したくない場合もありますよね。

そんな時はこちらの手順をお試しください。

手順は先ほどとほぼおなじです。

OnSuccessプロパティの最後にRemove関数を追加することで、送った直後に該当レコードを削除します。

Form1.OnSuccess

Office365Outlook.SendEmailV2(
    "メールアドレス",
    "タイトル",
    "本文",
    {Attachments:AddColumns(
    RenameColumns(Form1.LastSubmit.添付ファイル,
	"DisplayName","Name",
    "Value","ContentBytes"),
	"@odata.type","")
	}
);
 
Remove(M商品,Form1.LastSubmit)

つまり、実行>リスト追加>メール送信>リスト削除という流れを踏んでいます。

実際には一度保存されていますが、すぐ削除されるのでご容赦ください。

作成手順はコンテナコントロール単位で説明していきます。

印刷機能で作成したPDFをすぐ送る

アプリからスクリーンを印刷できることをご存じですか?

作成した報告書をプリンタで出力し、提出する。

これも悪くはありませんが、1歩先を見据えてみましょう。

じつはこの印刷機能、PDFで出力することもできるんです。

ならばそのPDFを添付して送ってしまえばもっと快適になりますよね。

Print関数はモバイル端末をサポートしていないため、お手数ですがPCから利用してください。


PDFをすぐ送る

ここは、若干の手作業を挟みます。

①印刷時、プリンターでPDFとして保存を選択して保存を押します。

②すると、保存先を選んだ後、ブラウザのダウンロード画面が開きます。

③そこに出てきたファイルを添付ファイルの枠にドラッグアンドドロップします。

④あとはSubmitForm関数を実行するだけです。

この方法なら、アプリで報告書作成>疑似押印>PDFで上長に送付という流れが実現できます。

上長の押印、または押印そのものが省略できる書式で使えますね。

とても便利なのでオススメです。

まとめ

今回は、添付ファイルをアプリから直接メールとして送る方法を紹介しました。

OnAddFile関数を使うと、ファイルを投げた時点でメール送信も可能です。

なんだかんだでファイルを送るためにメールアプリを開くのも文字を打つのも億劫です。

ドラッグアンドドロップで手軽に送ってしまいましょう。

アイキャッチ

ご支援よろしくおねがいします

この記事を気に入ってくださった方、寄付してあげてもいいよという方がいらっしゃっいましたら、ご支援いただけると助かります。

下記リンクからAmazonギフト券で、金額は15円からお気持ちを入力してください。

受取人のメールアドレスは amazon@anko7793.com までお願いします。

メッセージもいただけるとたいへん喜びます。

よろしくお願いします。

Amazonギフト券(Eメールタイプ) 



コメントを残す

メールアドレスが公開されることはありません。

ABOUT US
七草あんこ
非IT系中間管理職やってます。社命によりoffice365を主軸とした業務改善プロジェクトメンバーに任命されたことでPowerAppsと出会えました。いまではビジネス・プライベートを問わず、欠かせないツールになっています。導入初期やアプリ作成時に遭遇した諸問題の解決法とサンプルアプリの作り方を紹介していきます。主にTwitterで情報収集しているので不明点など呟いているとお邪魔するかもしれません。