Re-T
フォーラムの返信が作成されました
-
月初日については、「datetimeをテキストに変換」アクションにて、カスタム書式で変換することで取得できます
yyyy/MM/01と指定すると、テキスト値で月初(2023/03/01)と取得できるので、それを「テキストをdatetimeに変換」でdatetime型に戻してやれば(2023/03/01 00:00:00)、他のdatetime型が必要なアクションでも使用できます
月末は「翌月初日の前日」と考えることでイメージしやすくなります
上記のやり方で月初のdatetime型(2023/03/01 00:00:00)を取得したのち、その変数に対して「加算する日時」アクションで「1月」追加してやります(2023/04/01 00:00:00)
その値から、同じ「加算する日時」で「-1日」を指定すると、前日の情報が取得できます(2023/03/31 00:00:00)
参考になれば何よりです
-
「For each」アクションで指定できる変数に「保存先」というものがあります。
Excelデータをループさせているのであれば、保存先として指定する変数には、一行ごとのデータが入っていると思います。
Excelのテーブルを1行ずつ見ると、その中のデータが左から右に向かって以下のように格納されていきます。
例)
変数(%CurrentItem%とする):CurrentItem[0],CurrentItem[1],CurrentItem[2],CurrentItem[3] ,CurrentItem[4]
Excelデータ:タイトル,本文,登録状況,登録日時,更新日時
ループ内のアクションで「タイトル」を参照したい場合は、変数「%CurrentItem[0]%」を指定することで、その行の「タイトル」を参照することができます。
「登録状況」列は上の例では左から「3番目」、変数では「%CurrentItem[2]%」に入っているので、if文で
最初のオペランド:%CurrentItem[2]%
演算子:次を含む
2番目のオペランド:登録済み
のようにすると、「登録状況」列に「登録済み」が含まれる場合のみ別の処理を行うことができます。
以下のリンクも含め、参考になれば何よりです。
▼Power Automate Desktopの使い方 ~繰り返し処理~
https://assistant-biz.jp/column/column008/
▼Power Automate Desktopがなんとなく使える講座 #3 Excelデータの抽出 その2
https://qiita.com/spumoni/items/35b3a672df34ce9bb08f
-
「テキストの解析」にて「正規表現である」を利用して分割できます。
正規表現の詳細は以下など参考になると思いますので、ご覧ください。
https://ics.media/entry/221020/
今回であれば「アルファベット、空白(ない場合もある)、アルファベット、改行、数字」の塊で取れれば良いので、パターンとしては、
[A-Z]+ ?[A-Z]*(\R)\d+
でしょうか(もっとスマートな書き方があるかもしれません)
1. 『[A-Z]+』:アルファベット大文字が1文字以上繰り返す
2. 『 ?』:半角スペースが0か1文字
3. 『[A-Z]*』:アルファベット大文字が0文字以上(直前にスペースが有る場合には1文字以上続くので)
4. 『\R』:改行が1文字
5. 『\d+』:半角数字が1文字以上
このパターンを記載の上で「最初の出現箇所のみ」のチェックを外すと、パターンにマッチしたものが全てリスト形式で取得できます。
取得したリストをForEach等でループさせれば、CurrentItemで自由にテキストを処理できるかと思います。
正規表現は一見すると難解かもしれませんが、一つの手段として参考になればと思います。
- この返信は 1 年, 11 ヶ 月 前 で Re-T 変更されました。
-
「アダプティブカードを投稿する」アクションを使うのはどうでしょうか?
以下のようなフローをイメージしました。
1.Formsに回答があったときにTeamsへ上記アクションを用いて「了解」ボタンを含むアダプティブカードを投稿させる。(フロー1)
2.「誰かがアダプティブカードへ応答した場合」のトリガーで、Forms回答者へTeamsチャットなどで通知を行う(フロー2)
アダプティブカードの書き方はjson形式のためクセはありますが、以下のリンクなど参考になるかと思います。
▼Microsoft公式ドキュメント
https://learn.microsoft.com/ja-jp/power-automate/overview-adaptive-cards
▼アダプティブカード デザイナー
https://adaptivecards.io/designer/
-
処理対象ではない画面がフォアグラウンドにいるために起きている問題なので、マウス処理の直前に対象の画面をフォアグラウンドに設定すれば解決できると思います。
UIオートメーション->Windows->「ウィンドウにフォーカスする」のアクションを使用すれば、アクションごとの実行やブレークポイントでの停止時にも問題なく画面が切り替わるのではないでしょうか?
参考になれば
-
switch、case文では複数条件による集約は難しいように思います。
if文であれば可読性・メンテナンス性ともに低下するものの、以下の記法でOR/ANDによる集約が可能です。
if分岐(変数名を%Var%とする)
最初のオペランド:%Var = “XX” OR Var = “YY”%
演算子:と等しい(=)
2番目のオペランド:TRUE
これにより%Var%がXXまたはYYの場合に分岐の中の処理が行われるようになります。
このような分岐を条件ごとに複数作ることで、希望する処理にはなるものと思います。
参考になれば。
-
追記です。
Switch文にて同様の分岐を作成できました。
手順を以下に記載します。
使用する変数:%Var%
前提:分岐したい条件となる%Var%には、この処理以前で値が入っているものとします
手順:
1. Switch分岐を配置し、「チェックする値」に「TRUE」を設定
2. Case文を配置し、「演算子」に「と等しい(=)」、「比較する値」に「%Var = ‘XX’ OR Var = ‘YY’%」を設定
3. Case文の配下に、「%Var%がXXまたはYYの時の処理」を配置していく
4. 同様に別の条件でCase文を記載していく
Case文でのチェックの際、TRUEとOR文の比較を行うことで条件の集約が可能です。
ただこれもIfの場合と同じく、可読性・メンテナンス性は低下します。
他のやり方もあるかと思うので、検討してみます。
-
-
ファイル->表示から「画面に合わせて倍率を変更」の設定を有効にすることで、自動的にデバイスに合わせた画面サイズ切り替わる設定となります。
-
取得した文字列をSet関数・EncodeURL関数を用いてQRコードとして表示することができます。
例)Set(変数名, “https://api.qrserver.com/v1/create-qr-code/?size=150×150&data=;” &(EncodeUrl(取得したURL)))
上記を参考に設置してみてください。
-
日付の値の種類によって対応が変わってきます。
Appsのテキストフォームに表示している場合は、DatePickerに表示させることで適切な値になります。
シリアル値の場合や、年月日の順番がバラバラの場合、DateAdd関数、Mid関数などで対応可能と思います。
-
「応答の詳細を取得する」アクションの対象になっているフォームの設定を確認してみてください。
設問の回答を収集するものとなっているので、「フォームが作成中で設問が無いためコンテンツが表示されない」という可能性があります。
解決済かもしれませんが、お役に立てれば何よりです。
-
フォントがOSに存在している場合、以下の手順で追加可能です
1. テキストボックス・ボタン等をクリック
2. Fontプロパティを選択
3.使用したいフォント名を入力し、クォーテーションで括る
-
取得するデータが多く、その結果時間がかかっているものと思われます。
データを軽量化する方法として、以下のリンクが参考になると思うので、参考にしてみてください。
▼データソースからインポートモードでデータを取り込んだ後、PowerQuery上で最適なモデリングを実現する方法
https://learn.microsoft.com/ja-jp/power-bi/guidance/import-modeling-data-reduction
▼増分更新にてデータ更新する方法
https://learn.microsoft.com/ja-jp/power-bi/connect-data/incremental-refresh-overview
-
Power Automateのクラウドフローへの接続が古いため、Power Apps側で再度フローへの接続を作り直す必要があります。
対象のフローを新しく保存し、それを対象にPower Apps側で設定してください。
-
PowerAppsから呼び出しているPowerAutomateのフローにて「PowerApps または Flow に応答する」アクションを使用することで、呼び出し元のPowerAppsにPowerAutomate内の値を反映することができます。
-
Formのプロパティの「規定モード」が「新規」になっていない可能性があります。
また、Submitform関数を使用した後は「編集モード」になるのがデフォルトの処理となっています。
そのためデータは保存できているものの、送信直後はデータが見られない、などがあり得ます。
この場合はFormのプロパティ「OnSuccess」にNewForm関数を指定しておくと回避できます。 -
上記リンクにて、Accessドライバーを再インストールする手順が記載されております。
こちらの対応で解決するかもしれません。
もし解決していなければ、試してみて経過をまた載せていただきたいです。
-
サーバー上のアプリに対して「リモートデスクトップ接続」などを使用して接続していますか?
以前のアップデートで、そのような場合の操作には「仮想デスクトップ用エージェント」が接続先にインストールされている必要があります。
▼アップデート情報の公式案内
https://powerautomate.microsoft.com/ja-jp/blog/power-automate-for-desktop-july-2022-update/
このエージェントを接続先環境にインストールし、操作のレコーディング開始時に同期することで、UI自動化が可能となります。
▼RDP接続先の自動化について
https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/virtual-desktops
-
PAからクラウドフローを呼び出す前に、条件分岐で既読/未読を判定してみるのはどうでしょうか。
メール受信をトリガーにしているのであれば、条件分岐で「動的なコンテンツ」から開封済かどうか確認できます。
開封済でないときのみデスクトップフローを呼び出せば、エラーは回避可能かと思います。
-
訂正します。
PAクラウドフローのトリガーとして取得されたメール情報では必ず未読状態になっているものと思われます。
メール取得トリガー->デスクトップフローとなっているとのことなので、以下のような変更はどうでしょうか。
① メールを取得するトリガー
② 「メールを取得する」アクションで①のメールを再度取得(件名などで絞り込むことができると思います)
③ ②で取得したメールの既読/未読判定を行う
④ 未読の場合のみ、デスクトップフロー内で未読メール全てに対して処理を行う
トリガーが同時に動いた場合、他のフローが動作中は一度処理を待機する仕様となっているので、デスクトップフローで未読メールを同時に処理した場合は、後続のクラウドフローの処理までに未読メールがなくなります。
②で未読かどうかを再確認すれば、デスクトップフローの呼び出し前に動作を終了すると思います。
-
-
必須にしたい「カード」の「Required」にtrueを設定しましょう。
データソースの必須かどうかとは連動してくれないので、個別に設定する必要があります。
-
①画面左側「ツリービュー」を「検索」に切り替え(左側の三本線メニューから選べます)、検索キーワードの右側のメニューで「変数」のみを対象に検索できます
②画面上部タブの「挿入」「データの追加」の並びにある「・・・」をクリックし「変数」に入ると、アプリ内の変数の一覧を確認できます
-
「安全ではない可能性のある外部ソースへのリンクが含まれている」というエラー表示の「更新する」をUI要素として取得することで可能と思います。
対象のファイルを手動で開き、エラー表示が出た状態でPADフロー画面右側のUI要素から追加が可能です。
-
リモート先Aでフローを作成した際、仮想デスクトップ用エージェントとの同期を行っているかと思います。
フローの動作しないリモート先Bにおいて、仮想デスクトップ用エージェントがインストールされていないか、同期がされていない可能性はありませんか?
-
電子証明書ウィンドウに関する操作について、「UIオートメーション」系のアクションで操作してみてはどうでしょうか?
対象のウィンドウがブラウザ操作の対象のインスタンスとして認識されていないのではないかと思われます。
-
PADと動作対象のアプリの権限はどのようになっていますか?
片方が管理者権限で一方がそうでない場合には他のアクションでもエラーが発生するはずです。
確認してみてください。
-
Formsへの回答を収集しているExcelなどが活用できるのではないでしょうか。
アダプティブカード応答時、そのExcelを確認することで「どの回答についてのアダプティブカードか」と「回答したのは誰か」を紐づけることができます。
回答収集用ExcelにアダプティブカードのIDなどを格納する列を追加しておき、アダプティブカードを投稿した直後にその列に値を入れるなどすれば、直接紐づけることができると思います。
-
一度PowerAutomateDesktopの「UI要素の追加」などを使用して、リモート先Bを対象としてUI要素の取得を行おうとすると同期画面が表示されるはずです。
作成したフローの実行時には同期画面は表示されない仕様のようなので、試してみてください。
-
PowerAutomateのデータ->接続画面にアクセスし、接続情報の一覧を確認できますか?
スケジュール実行ができないということは「Desktop flows」の接続情報にエラーが出ているものと思われます。
対象の接続情報の「その他のコマンド」から編集を行い、正しい情報に修正できると思うので、改善するか試してみてください。
-
zawaさん
変数名などご返信いただきありがとうございます。
zawaさんと同一のフローなのに知人の方の環境でエラーの有無があるという点が気になり、色々と確認してみたのですが、デバッグを行っていただくのが有効かと思います。
エラーが発生しているListを書き込むアクションの直前でフローを一時停止していただき、変数値を確認してみてください。
一時停止中にzawaさんと知人の方環境で、アクションで使用している変数どれかに値が異なる変数はないでしょうか?
変数値の差異から原因の特定につながることもありますし、
差異が全く無い場合は実行端末やExcelの設定など環境の違いによるものかもしれませんので、
切り分けるためにも確認結果教えていただけますでしょうか?
以下参考情報になります。
・フローの一時停止方法
https://docs.microsoft.com/ja-jp/power-automate/desktop-flows/debugging-flow#adding-breakpoints
・変数値の確認方法