Power Automate でHEICファイルをJPEGファイルに変換する方法(例)

目次

目的と概要

iPhoneで写真を撮ったときのデフォルトの形式がHEIF(ヒーフ)というものに変わりました。拡張子は「.heic」(ヘイク)です。

これ、jpegよりも容量が小さくていいのですが、SNSでheicに対応していないサイトもあったりするので不便なときもあります。

というわけで、Microsoft IDでログインすれば使える「Power Automate」という作業自動化アプリ?を使って、自動的にheicファイルをjpegファイルに変換することにしました。

この変換は他にもいろいろやり方があるので、あくまでひとつの(泥臭い)方法と認識していただけると幸いです。

Power Automateのサイトへのログイン

Power Automateは以下のサイトからログインすることで使えます。
個人の学習用途であれば、機能制限はあるものの無料で使えます。

https://make.powerautomate.com/

準備

OneDriveの機能を使用するので、OneDriveフォルダ内に画像変換用のフォルダをつくっておきます。

私はこんな感じで「HEICtoJPEG」というフォルダを作りました。

実際にPower Automateでつくっていく

以下の「マイ フロー」「作成」「テンプレート」のどれから作ってもいいです。私は「作成」からつくりました。

フローの全体構成

全体の流れは以下のようになります。

  1. 「トリガー」として、OneDriveの「HEICtoJPEG」フォルダ内にファイルが作成されたら自動処理を始めることにする。
  2. 変数を初期化する。次のApply to eachで使う配列変数です。
  3. 「Apply to each」という条件式を使って、作成されたフォルダ内のファイルを調べ、heicファイルだったらjpegに変換する。

前半部の解説(ファイルが作成されたときのトリガーと変数の初期化)

トリガーやアクションを追加しようとすると次の画面が出ます。
まずは「コネクタとアクションを検索する」から、「OneDrive」検索して開いてください。

以下のようにOneDriveの処理方法が表示されるので、「トリガー」をクリックして、そこから「ファイルが作成されたとき(プロパティのみ)」を選択してください。

下図の上の部分が表示されるので、「フォルダー」に「/HEICtoJPEG」を指定します。

上図の「変数を初期化する」は、「アクション」から追加できます。
「Apply to each」では配列を用意しておかなければならないので、種類「アレイ」として、1~9までの配列をつくっています。1度に複数ファイルをフォルダに入れるかもしれないなと思って9個つくりましたが、2、3個でいい気もします。

後半部の解説(Apply to each内)

「Apply to each」内の概要

「Apply to each」内の繰り返し処理は以下のようになっています。

  1. 一番上にあらかじめつくっておいた配列「myEach」を入力します。フォルダ内のそれぞれのファイルという意味です。
  2. 「Apply to each」内に「アクションの追加」から「条件」を追加します。
  3. 「条件」には、ファイル名である「名前」のうち、「.HEIC」で終わるファイルかどうかを判定させます。
    (実は今回使っているアクションは、HEIF以外にもpngなどすごくたくさんのファイルをJPEGに変換することができます。ここで「.HEIC」を指定しないと、なんでもかんでもJPEGにしちゃいます)
  4. はいの場合:後で詳しく説明します。
  5. いいえの場合:何も処理しないので、空欄のままで構いません。

HEICファイルが作成されたときの処理

HEICファイルが作成されたときの処理を以下のように記述します(条件式で「はい」の場合)。

すべてOneDriveのコネクタなので、アクションの追加から「OneDrive」で検索してください。

ファイルコンテンツの取得

今、どのファイルを処理しているかを「ID」として取得します。

パスを使用したファイルの変換

ここで指定したパスのファイルをJPEGに変換します。
したがって「ターゲットの種類」は「JPG」です。ちなみに、PDFやHTMLなどを選ぶこともできます。

ファイルの作成

フォルダーのパスは、準備段階でつくっておいた「/HEICtoJPEG」を選んでいます。
ファイル名はそのまま「ファイル名」
ファイルコンテンツは入力した覚えがないんですが、「本文」を選んでいたみたいです。

完成です

以上で完成です。
保存しておきましょう。
できれば「テスト」しておいた方が安全です(右側のペインから選べます)。

あとは、「/HEICtoJPEG」の中にHEICファイルを入れると、1、2分後に勝手にJPEGファイルが作成されます。
このとき、HEICファイルとは別にJPEGが作られるので、上書きされる心配はありません。

最後に

Power Automateは日々進化しているみたいです。

このツールはローコード/ノーコードで自動化処理を実現できるという売りですが、実際にやってみるとそんなに簡単なわけではないです。

なかなか思った通りに動いてくれなかったりするので、つくってはテスト、つくってはテストの繰り返しです。

うまくいかなかったときにどこが悪かったのかを見つけるには、やっぱりある程度プログラミングの知識があった方が解決は早いです。

こんなにうまくいかないんだったら、Pythonか何かで直接コーディングした方が早いんじゃないかと思ったのもしばしば。

最後に白状しますが、Power Automateを使ったのは今回が初めてだったので苦労したのかもしれません。

この記事は自分用の備忘録でもあります。

また何かおもしろいネタが見つかったらアップしますね。

shizukiaki

札幌で絵やイラストを描いています。音楽や読書も好きなので、ブログではいろいろなジャンルの投稿をしています。