5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Automateでテキストファイルを読み込む

Last updated at Posted at 2020-09-24

Office365にも付随しているPower Automateで、OneDrive等に配置されたテキストファイルの中身のテキストデータを、フロー中に使用したいときにどうするか、という記事です。

本記事では、サンプルとして、以下の要件を満たすフローを作成してみます。

  • OneDriveの特定のディレクトリにファイルが新規作成されたら、そのファイルの中のテキストデータをメール本文として、メールを送信する
  • テキストファイルの中身は、HTML形式とする

メール送信アクションの性質上、テキストファイルの中身はHTMLとします。

なお、本記事では、ファイルの配置場所をOneDrive for Business、メール送信はOffice 365 Outlookを使用します。(通常のOneDriveやSharePointでも、同じことはできると思いますが、未検証です。)

フロー図

フロー

トリガー: ファイルが作成されたとき

「OneDrive for Business」コネクタの、「ファイルが作成されたとき」トリガーを使用します。マイクロソフトのドキュメントはこちら

フォルダー引数には、OneDrive for Businessの任意のフォルダを指定します。サブフォルダーを含める引数をはいにすると、手前で指定したフォルダ直下のみでなく、サブフォルダに作成されたファイルもトリガーの対象となります。コンテンツタイプの推測は、通常ははいにします。

トリガー

本記事では、常にテキストファイルが新規作成されることを前提にしていますが、そうでない場合は、コンテンツタイプの推測結果をもとに、条件分岐等を挟むことも考えられます。
なお、テキストファイルについては、Power Automateでは、自動的に「UTF-8で符号化されているテキストファイル」であると判断するようです。よって、Shift-JIS形式のテキストファイルから文字列を抽出することは、おそらくできない(文字化けが発生する)と思われます。
(下記参考ページで、文字化けを回避する方法が紹介されていますが、テキストファイルを別のディレクトリへコピーするという用途向けの解説のため、今回の用途向けではありません。)

参考: Power Automate でテキストファイルの文字化けを回避する

アクション1: 変数を初期化する

手前のトリガーによって、ファイルコンテンツが取得できるのですが、そのままだと、一律でバイナリ形式として認識され、直接、メールの文面に使用できません。しかし、「変数を初期化する」アクションを使用して、このファイルコンテンツを値とした文字列変数を定義すると、当該変数の値には、テキストファイルの中のテキストがそのまま入るようです。

名前引数には、文字列変数につける好きな名前を指定します。種類引数は文字列にします。引数には、手前のトリガーで取得されたファイルコンテンツを指定します。

アクション1.png

参考: How to read unknown text file namess with flow

アクション2: メールの送信(V2)

マイクロソフトのドキュメントはこちら

宛先件名引数には、任意の値を指定します。本文引数には、手前で定義した変数を指定します。その他の引数は、必要に応じて指定します。

アクション2

試してみる

トリガーで対象としたディレクトリに、以下のようなテキストファイルを新規作成してみます。

テストファイル.txt
これはテストメールです。<br/>
この文は、テキストファイルの文章です。

OneDrive

すると、数分後に、指定した宛先にメールが飛んできました。( 本題とはずれますが、本記事で使用した「ファイルが作成されたとき」トリガーはすぐには発動されず、10分~20分程度かかる場合もあるようです。 2024年4月現在は、ファイルが作成されたかどうかを確認する頻度を設定できるようなので、すぐ発動させることもできる様子です。)

メール

5
9
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?