投稿

Power AutomateでSlackに投稿する。(メンション付き)

イメージ
Power AutomateでSlackに投稿する。 Power AutomateでSlackに投稿する。(メンション付き) Power Automate はMicrosoftのアプリ以外にも連携することができます。 今回は Slack とを組み合わせてできることを説明していきます。 私は普段仕事ではTeamsを使用していますが、Slackを使用している会社もあると思います。(昔バイト先ではSlackでした。) しかし、Microsoft純正ではないので、Slackと組み合わせて使用できる機能は少ないです。 とはいえ、Power Automateで自動化していると使用しているコミュニケーションアプリと連動させ業務効率を図りたいとなるのが基本かと思います。アクションは少ないものの、Slackにもメインとなる チャネルに投稿する 機能はあるので、今回はこの機能を説明していきます。 また、投稿時にメンションをつける方法も合わせて使用します。 目次 ・ Slackに投稿する ・ メンションを付ける方法 ・ 詳細オプション Slackに投稿する まずは Power Automate から Salck に投稿する方法の説明をします。 適当に「スケジュール済みクラウドフロー」で作成してみます。すると下記の編集画面になるのでここから作成を開始します。 Slackで検索する 「新しいステップ」を選択し、検索窓に Slack と入力します。 するとslackで使用できるアクションが表示されるため、そこから「メッセージの投稿」を選択します。 メッセージの投稿 ...

Power Automateでファイル名から拡張子を取得

イメージ
Power Automateでファイル名から拡張子を取得 Power Automateでファイル名から拡張子を取得 以前、 Power Automateで自動ファイルバックアップ(OneDrive) という記事で ファイル名から拡張子を取得する方法 をまとめました。 その際には複数の変数を用意して、かつ関数も使用して取得していましたが、これはフロー作成にかなり手間がかかるものです。 そのため、どうにか簡略化できなかと検討したところ新しい取得方法で、より簡潔に作成できることがわかったので、今回はファイル名から拡張子を取得する方法について新しい手法をまとめたいと思います。 作成方法を解説 まず取得する方法を説明する前に、以前の方法ではどのように取得していたかというと、 ファイル名から拡張子までの文字数を取得 ファイル名の拡張子部分の長さを取得する 拡張子の開始位置から、拡張子の文字数分だけ切り取って取得する といった手順を踏んでいました。 詳細は先程リンクを貼っているブログか、文字列抽出方法をまとめたブログがあるので参考にしてください。 Power Automateで文字列抽出 このように以前の方法ですと、ステップ数が増えるため作成も手間ですし、メンテナンス性も良くない状況です。 なのでもっと簡略化して実装する方法を紹介します。また2つの関数を使用するものの、シンプルなため可読性は高いです。さらに、今回の方法で実装すると事前準備していた変数3つが不要になります!! では、いよいよ本題に入ります。 今回使用する関数は split と last の2つになります。 split関数 split関数 は文字列を指定の文字で 分割 する関数です。 ...

Power Automateでファイルを自動整理(OneDrive)

イメージ
Document Power Automateでファイルを自動整理(OneDrive) 以前 Power Automateで添付ファイルを自動保存する(Outlook) という記事で、Outlookで受信した添付ファイルを自動でOneDriveに保存するフローを Power Automate で作成しました。 これをセットしておくことで、今まで手動でファイルに保存していた作業が省略されて効率化ができています。しかし、受信頻度の高いフォルダなどを指定している場合には、気づくとフォルダ内のファイルが大量に保存されていて、どれが今回のファイルなのか分かりにくくなるという課題もあるのです。(まさしく私の環境) なので今回は、 OneDrive 上のフォルダを期間ごとに 自動整理 するフローを紹介したいと思います。サンプルは1週間分で作成しますが、ご自身の環境に合わせて期間は設定してください。 フローの作成 今回整理後のフォルダはフロー上で作成するため事前の準備は不要です。 ただ整理対象のフォルダとバックアップ先のファイルを決めておく必要があります。私は下記のパスを対象にしていきます。 〇整理対象のファイル 〇整理後の保存先 では早速フローを作成していきましょう。 今回は一定のタイミングで実行するフローのため、「 スケジュール済みクラウドフロー 」を選択します。 フロー名や、開始日、繰り返し期間は書きのように入力しておきます。 トリガーの設定 先ほど「スケジュール済みクラウドフロー」を選択し、設定をしたため基本となる設定はできております。ですが、細かい調整が必要なので下記のように設定値を変更しておきます。 現在時刻と過去の時刻取得 今回はフォルダ名に日付を入れるため「現在の時刻」...

Power AutomateでExcelの時間の取り扱い

イメージ
PowerAutomateでExcelの時間の取り扱い Power AutomateでExcelの時間の取り扱い 私は Power Automate を使用して自動化する際には Excel と組み合わせることが多いです。 その際、基本データの取り扱いは大丈夫なのですが、1点日付だけは扱いが少し面倒なのです。なにが面倒なのかというと、Excel上で見えているデータと実際に格納されているデータが異なるのです。 試しに Power Automate 上で日付データを取り出してみましょう。 「2021/12/1〜2021/12/3」を Power Automate で取得し表示してみると下記のように表示されます。 44531,44532,44533 と表示されていますね!このようにExcelでの日付データは数値で管理されており、そのまま取り出すと数値のまま表示されてしまうのです。 そのため、 yyyy/MM/dd のように表示させるためにはひと手間ステップを増やす必要があります。今回はこちらをまとめていきたいと思います。 なおこの内容はYouTubeにも挙がっています。合わせて参考にしてください。 Excel上での日付管理 先程Excelでは日付データは数値で管理されていることを説明しました。まずはこの「日付データの数値」と「yyyy/MM/dd」の関連性を説明します。 先に結論から言うと「1900/1/1」が基準となっており、これが数値の「1」に当たります。つまり「日付データの数値」が「1」から増えた分だけ「1900/1/1」から日付を増やせば、その日付が求められます。 「2021/12/1」と「44531」の関係性で見ると、「44531-1=44530」つまり「1900/1/1」の「44530」日後が「2021/12/1」ということになります。 ※後述しますがとある仕様によりズレが生じます。。 これを Power Automa...

Power AutomateのでApplyToEachで処理速度向上

イメージ
Power AutomateのでApplyToEachで処理速度向上 Power AutomateのでApplyToEachで処理速度向上 私は Power Automate と Excel を組み合わせてフローを作成することが多いです。そのため ApplyToEach で繰り返し処理を行うのですが正直思っている以上に処理速度が遅いのです。 また、前回「 Power Automateで読み取れるExcelの上限について 」でまとめたように、読み込めるExcelのデータ数には上限があり、大量のデータを読み込んで処理するためには複数個の ApplyToEach を使います。 なので最終的に処理がすべて終わるまでにかかる時間がどんどん増えていっているのです。。。 あまりにも時間がかかっているので、今回は ApplyToEach にかかる時間の検証と、ある条件のみにはなるものの処理速度を向上させる方法を試してみたいと思います。 なおこの内容は動画にでも解説しているので参考にしてください。 通常の処理速度を検証 今回検証で使用するフローは下記になります。 そして読み込んでいるExcelファイルは前回の検証で使用した300行のデータを含むテーブルになりますが、今回はあくまで ApllyToEach の処理速度なので上限256で1ステップで検証します。 また、表の読み込みなどは数秒で終わるためフロー全体を通してかかった処理時間を比較します。 まずは、通常の実装を行った際にかかる ApplyToEach の処理時間を確認したいと思います。 3回実施した結果が下記になります。 平均すると処理時間は約 1分2秒 になります。256回の繰り返しで1分近くかかっています。。。正直遅いですね。 1000行のデータがあり、その1つ1つ処理をするとなると単純計算で4分かかります。いくら自動処理といえども4分かかるのは許容できない場...

Power Automateで読み取れるExcelの上限について

イメージ
Power Automateで読み取れるExcelの上限について Power Automateで読み取れるExcelの上限について 私のブログではExcelをデータベースとしてフローを作成することが多いのですが、ある日思った通りの結果がでないことに気がつきました。よく調べてみたところ思わね罠があり、それが原因で期待した結果が取得されない状態になっていました。なので今回は私が引っかかった Power Automate の制約ついてまとめていきたいと思います。 タイトルで若干バレているかもしれないですが、なんと Power Automate で読み取れるExcelの表には上限があったのです。。。 期待したデータが出力されず、はじめはフローに問題があると思い色々ステップの改良していたのですが、やはり結果がおかしく明らかに読み込めていなデータがあるようでした。 まさかとは思いながらも、恐る恐る実行結果を確認していくと、なんと読み込んだ Excel のデータが足りていなかったのです!! Excelの表を読み込んだあとは Apply to each を使用してループさせるのですが、実行結果を確認すると下記のように表示されていました。 もちろんこの結果だけを見ても特にわからないと思いますが、注目するのはループ回数です。 256と書いてありますね!つまり 読み込んだExcelの表は256行 ということになるのです。しかし私の用意したエクセルデータは256行よりも多く、ループ回数が足りていない状態です。 ネットの記事などを確認したところ、どうやら仕様で読み込める行には上限があり、これが256行なのです。 なので、今回はほんとうに256行しか読み込めていないかの確認と、256行より多く読み込んでフローを作成する方法をまとめたいと思います。 256行しか読み込めないのか確認 本当に256行しか読み込むことができないのか確認します。 下記のように、「 テーブルとして書式設定 」...