フォーラムの返信が作成されました

1 - 29 of 29 投稿を表示
  • pieta

    メンバー
    2025年9月7日 at 4:32 PM

    ウィンドウにある UI 要素の詳細を取得するアクションで取得出来ます。
    *リンクが設定されているセルのUI要素を取得する際、赤枠の上の文字が「Hyperlink」となっていることを確認してください。
    *属性名は「Name」を手入力してください。

    続いてテキストを切り抜くアクションを使って、↑で取得した文字列からリンクアドレスだけを抽出します。
    *モードは「・・・フラグの後・・・」
    *開始フラグは「ハイパーリンク 」

  • pieta

    メンバー
    2025年7月27日 at 2:08 PM

    ②>>①≒③

    ぐらいの感じだと思います。

    UI要素を使うのが基本で、要素が取得できない等の理由がある場合にのみキー送信か画像認識を使うというのが正しい手順と思います。

  • pieta

    メンバー
    2025年6月29日 at 2:38 PM

    試してみましたが、UIの取得もクリックも出来ました。

    只、属性の設定ではトグルのON/OFFの区別が出来ないようなので、OFFの状態でクリックするとONになってしまいますが。

  • pieta

    メンバー
    2025年2月26日 at 6:25 PM

    知恵袋の方でも回答しましたが、他のユーザーの参考になるかも知れないのでこちらでも回答しておきます。

    「Web ページに次が含まれる場合」アクションでは多分無理ですが、Ifであれば以下の方法で可能です。

    「Web ページ上の詳細を取得する」アクションで「取得」を“Webページテキスト”に設定

    「If」アクションで「最初のオペランド」に例えば以下のように入力
    %Contains(WebPageProperty, ‘キーワード1’) AND Contains(WebPageProperty, ‘キーワード2’) AND Contains(WebPageProperty, ‘キーワード3’)%

    「演算子」は“と等しい(=)”に設定、「2番目のオペランド」は“true”と入力

  • pieta

    メンバー
    2025年2月9日 at 11:14 PM

    もしダウンロード前のフォルダにcsvファイルが1つも無いなら

    ダウンロードの後に「フォルダー内のファイルを取得」アクションを入れて

    ファイルフィルター欄を”*.csv”とすればcsvファイルだけ抽出出来ます。

    ダウンロード前のフォルダにcsvファイルが存在する場合

    「フォルダー内のファイルを取得」アクションをダウンロード前後でそれぞれ設定し

    「リストの内容を減らす」アクションを使えばダウンロードファイルだけ抽出出来ます。

    ただ、どちらもダウンロードが完了する前にファイル抽出処理が行われると思うので

    「If」、「ラベル」、「移動先」アクションを組み合わせて

    抽出リストが空の場合「フォルダー内のファイルを取得」に戻って処理を繰り返す、

    というフローを追加する必要があります。添付画像参照

    最後に「ファイルの移動」アクションでファイルを移動させます。

    *移動するファイル欄には抽出したファイルリストの変数を設定します

  • pieta

    メンバー
    2025年1月31日 at 2:21 PM

    詳細欄の「物理的にキー入力を行ってテキストを入力する」、「ページが読み込まれるまで待機」のON/OFFを切り替えると改善される場合があります。

    改善されない場合は(余りスマートな方法では無いですが)「キーの送信」アクションや「クリックボード」アクションで入力する方法があります。

  • pieta

    メンバー
    2025年1月17日 at 9:46 PM

    UI要素で指定できない、とのことですが、UI要素が取得出来ないという意味ですか?

    ダイアログのボタンは「ウィンドウ内のボタンを押す」アクションか「ウィンドウのUI要素をクリック」アクションでないと認識しない(赤枠が表示されない)です。また、レコーダー機能かUI要素欄の「UI要素の追加」ボタンからでも取得出来ます。

    もし上記の方法を試した上で駄目だったのであれば、「マウスを画像に移動」アクションでクリックするという方法があります。

  • pieta

    メンバー
    2025年1月17日 at 9:33 PM

    UI要素の編集画面にあるテスト機能を使って確認してみては如何でしょうか?

    正常に認識されているならUI要素の表示が間に合ってない可能性があります。
    その場合「Webページのコンテンツを待機」アクションを入れれば対処出来ます。

    正常に認識されないならUI要素が変更されています。

  • pieta

    メンバー
    2025年1月17日 at 9:21 PM

    *Qiitaの方の質問・コメントも見ました

    複数のリンクを開くことが目的で、手段として「Webページからデータを抽出」アクションを使おうとしてるけど上手いこと行かずに困っている、ということですかね?

    であれば添付画像のフローで処理出来ると思います。

    *UI要素はページの一番上にあるリンクのUI要素を取得します

    *UI要素の編集は以下
     ・編集画面を開き、全ての要素のチェックボタンをONにする

     ・セレクターに「id=”xx_251521″」のような設定が含まれている場合は、
      id属性のチェックボタンをOFFにする

     ・最下層のセレクターのOrdinal属性のチェックボタンをONにする
      →セレクターのプレビューに「:eq()」が追加される
     ・テキストエディターをONにする

     ・追加した「:eq()」の()の中にループカウンタ用の変数を設定する 例「:eq(%count%)」

  • pieta

    メンバー
    2024年12月13日 at 7:08 PM

    設定の「監視/通知」を「フロー監視ウィンドウ」にしてフローを実行してみてください(添付1参照)。

    「フロー監視ウィンドウ」が「ダウンロード中」→「準備中」→「実行中」と変化するので(添付2参照)、
    それぞれの表示されている時間を確認し、どのタイミングで時間が掛かっているかを調べます。

    ダウンロード中で時間が掛かっているなら、通信環境やフローの容量が原因の可能性があります。
    容量を下げる方法は、フローの見直し、UI要素欄の「使用していないUI要素を削除する」の実行等があります。

    準備中で時間が掛かっているなら、フローの容量やPCのスペック・相性が原因の可能性があります。

    実行中で時間が掛かっているなら、最初のアクションに時間が掛かっています。

    また、アクションを何も追加していない空のデスクトップフローを実行した場合でも待機時間が長い場合は
    power automate desktopの再起動や再インストールで改善する可能性があります。

  • pieta

    メンバー
    2024年11月30日 at 4:06 PM

    「Desktop フローを実行」アクションを用いているとのことなので、メインフロー、サブフローはそれぞれ親フロー、子フローのことだとして回答します。

    (PADでは通常メインフロー、サブフローと言うと同じDesktopフロー内のタブで分けられたフローのことを指します)

    親フローでもOutlookの処理が必要で、且つ、子フローに分けないと駄目な理由があるなら今の処理方法で問題ないと思いますが、そうでないなら、Desktopフローを統一するか、親フローのインスタンス生成は無くして、閉じるアクションは子フローに入れるのが良いかと思います。

  • pieta

    メンバー
    2024年11月15日 at 7:13 PM

    今のところ子フローの編集ウィンドウを開いていても親フロー上の処理は反映されない仕様です。

    思いつく方法としては以下の2つがあります。

    1. 変数を「出力変数」に変更する
      • 子フローの編集ウィンドウ右側にある「入出力変数」欄にリアルタイムで確認したい変数を設定(「フロー変数」欄にある変数とマージするかどうかの確認ウィンドウが表示される場合は「続行」を選択)
      • 子フローを保存(保存しないと反映されない)
      • 親フローの「Desktopフローを実行」アクションをダブルクリック
      • アクションの編集画面に「生成された変数」欄が表示されるのでクリックして展開
      • 有効/無効ボタンを有効にする
      • 変数名を適宜変更
    2. 確認したいタイミングで「メッセージを表示」アクションを追加して確認する

  • pieta

    メンバー
    2024年11月15日 at 6:13 PM

    解決策では無いですが、

    ・特定のWEBページだけで発生するのか
    ・Chrome等でも発生するのか
    ・フローを新規で作り直しても発生するのか
    ・別PCで処理しても発生するのか

    辺りを調べれば対策が見つかるかも知れません。

    試しにChatGPTで調べてみたら、以下のような回答でした。
    参考までに。

    Power Automate Desktop (PAD) で「Webページ内のテキストフィールドに入力する」アクションを使用した際に、スクリプトのような文字列が保存されてしまう原因として、以下のようなことが考えられます。

    原因

    1. 入力モードの問題

    PADは通常、指定したテキストをDOM(Document Object Model)に直接操作して入力しますが、対象のフィールドが特殊なスクリプトやライブラリ(例: React.js, Angular, Vue.js)で制御されている場合、入力値が正常に反映されないことがあります。この場合、テキストボックスが内部的に認識している値と見た目が異なる場合があります。

    2. スクリプトの影響

    入力フィールドが動的にスタイルやスクリプトを埋め込む仕様になっている可能性があります。その結果、入力値と一緒にスタイルやスクリプトが保存されてしまうことがあります。

    3. HTML構造の問題

    指定した入力フィールドが複数の要素(例えば、隠しフィールドやスクリプト付きの入力フィールド)に依存している可能性があります。そのため、期待する値とは異なるデータが入力や保存時に扱われている可能性があります。

    対策

    1. キー送信を使用

    テキストフィールドに直接入力する代わりに、「キーを送信する」アクションを試してください。この方法では、人間がキーボードで入力するのと同様の動作をシミュレートするため、より正確に動作することがあります。

    手順:

    • 「Webページ内のテキストフィールドに入力する」アクションを削除。
    • 「キーを送信する」アクションを追加し、テキストを入力対象のフィールドに送信。

    2. JSスクリプトを実行

    Webページに対してJavaScriptを直接実行して、DOM要素を正確に操作する方法を試してください。「JavaScriptコードを実行する」アクションを使用して、対象のフィールドにテキストを設定するコードを記述します。

    例:

     document.querySelector(‘セレクター’).value = ‘入力したいテキスト’;

     ※ セレクター には対象のフィールドのCSSセレクターを指定してください。

    3.フィールドの検証とセレクターの見直し

    開発者ツール(ブラウザのF12)を使用して、対象のテキストフィールドの構造を確認してください。隠しフィールドや関連するスクリプトの影響を特定し、正しい要素を選択できているか見直してください。

    4. 入力後の「Enterキー送信」や「再フォーカス」

    入力後に適切に値が反映されるように、次のアクションを試してください:

    • 入力後に「Enterキーを送信する」。
    • 入力フィールドを再フォーカスする。

    5.適切な遅延時間の設定

    動的なWebページでは、スクリプトが遅れて動作することがあります。アクションの間に数秒の遅延を設定して、Webページが正しく処理を終えるのを待つ方法も有効です。

  • pieta

    メンバー
    2024年11月15日 at 5:43 PM

    解決済み、とのことですが参考までに。

    恐らく、ISO,JIS規格に準じているのだと思います。

    ISO,JIS規格では数値の丸めの際「偶数丸め」というルールを採用しています。

    「偶数丸め」とは

    5の一つ上の位が偶数なら切り捨て、奇数なら切り上げる

    というルールです。

    具体的には、0.5,2.5,4.5,6.5,8.5はそれぞれ0,2,4,6,8となり

    1.5,3.5,5.5,7.5,9.5はそれぞれ2,4,6,8,10となります。

    ですので、単純な四捨五入にするには、5の場合は(四捨五入する桁に)5を足す

    という処理が追加で必要となります。

    https://ja.wikipedia.org/wiki/端数処理
    *偶数への丸めの項参照

  • pieta

    メンバー
    2024年11月8日 at 5:19 PM

    エクセルのことだと推測して回答します。

    まず、選択したいエクセルのシートがフォアグラウンドで表示されている状態まで
    処理しておきます。続いて以下のアクションを追加します。

    ・「ウィンドウのUI要素をクリック」アクションでA列のインデックス*をクリック

    ・「キーを押す/離す」アクションでControlキーを押す*
    ・「ウィンドウのUI要素をクリック」アクションでD列のインデックスをクリック

    ・「キーを押す/離す」アクションでControlキーを離す

    最後に必要に応じてUI要素のセレクターを編集する

    *添付画像参照

  • pieta

    メンバー
    2024年11月1日 at 5:18 PM

    もしアイコンの種類が決まっているならName属性で値を設定すればクリック出来ると思うので、
    セレクターが正しく設定されているか確認してみては如何でしょうか。

    アイコンの種類は不定で、とにかく左から4番目のアイコンを右クリックしたいのであれば、
    UI要素のセレクターを添付画像のように設定してみてください。
    私のPCでは正常に選択できました。

    参考になれば幸いです

  • pieta

    メンバー
    2024年10月19日 at 6:09 PM

    1つ目の添付画像のようなデータがリスト形式で格納されているという認識で回答します。

    元の抽出リスト内のテキストを置換するより、新しくリストを作る方が楽だと思うので
    2つ目の添付画像のフローでどうでしょうか?

    もし上手く処理できない場合、回答の際、1つ目の添付画像のように
    TATさんがWebから抽出したデータの変数の値を画像添付してもらえると助かります。

    ↓2つ目の添付画像のコードです(変数”WebData”はWebから抽出したリストの変数に要変更)

    <div>Variables.CreateNewList List=> NewList
    </div>

    LOOP FOREACH CurrentItem IN WebData

    Text.Replace Text: CurrentItem TextToFind: $”’投稿時間:”’ IsRegEx: False IgnoreCase: False ReplaceWith: $”’%”%”’ ActivateEscapeSequences: False Result=> Replaced

    Text.ConvertDateTimeToText.FromDateTime DateTime: Replaced StandardFormat: Text.WellKnownDateTimeFormat.ShortDate Result=> FormattedDateTime

    Variables.AddItemToList Item: FormattedDateTime List: NewList

    END

  • pieta

    メンバー
    2024年10月9日 at 5:01 PM

    こんにちは

    おっしゃる通りFor eachアクションを使います。
    基本的な使い方は以下のサイトに記載していますので最初に一読することをお勧めします。

    https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/use-loops#for-each-loop

    For eachアクション内の「{x}ボタン」をクリックして
    エクセルから取得したデータテーブルの変数を選択します。
    (名称を変えてなければ)%ExcelData%という変数名だと思います。

    また、For eachアクションで新しく%CurrentItem%という変数が設定されます。

    For eachアクションの処理をスタートさせると
    まず%ExcelData%内の一行目のデータが%CurrentItem%に格納されます。

    使い方は%CurrentItem[0]%のように[]の中に列インデックスを記入します。
    *インデックスは0からスタートします
    なので、%CurrentItem[0]%なら製品番号、%CurrentItem[1]%なら製品名
    という感じです。

    For each内のアクションの処理が完了するとFor eachの一番上に戻り
    今度は%ExcelData%の2行目のデータが%CurrentItem%に格納され処理が繰り返されます。

    質問のタイトルがFor eachについてだったのでUI要素の取得方法や設定方法については
    割愛していますが、不明点あれば追加で質問してください。

    参考になれば幸いです。

  • pieta

    メンバー
    2024年10月5日 at 11:22 PM

    こんにちは

    もしかしたら以下の動画内の”たな”さんという方の発表内容が参考になるかも知れません。

    15分30秒辺りから容量の説明が有ります。

    *私自身はライセンス等について詳しくないので参考にならない回答でしたらすみません。

  • pieta

    メンバー
    2024年9月30日 at 4:07 PM

    範囲に一括入力出来ないんですね。知りませんでした。

    ぱっと思いつく方法は

    1.「Excelワークシート内のセルを自動入力する」アクションを使う(添付画像1つ目)
     *A1セルの書式もコピぺされる

    2.セル範囲選択後、「キーの送信」アクションを使う(添付画像2つ目)
     *フォーカスを入れる等してウィンドウをアクティブにしておく必要あり
     *フローの実行に問題無ければ「待機」アクションは無くても可
     *キー入力の間隔の遅延時間は適宜修正(100ぐらいがお勧め)

    3.マクロで入力

    参考になれば幸いです。

  • pieta

    メンバー
    2024年9月25日 at 3:46 PM

    こんにちは

    回答になってないですが、私も先日同様の現象が発生しました。
    一旦セレクターを取り直したんですが、数日経つと取り直したセレクターが使えなくなり
    元のセレクターが使えるように戻ってました。

    とりあえず、今は同じUI要素に3つのセレクターを設定して対応しています。

    :desktop > window[Process=”chrome”]
    :desktop > pane[Process=”chrome”]
    :desktop > [Process=”chrome”] ←これはテキストエディターで設定

    タイミング的にVer2.47にアップデートした後だったような気がするので、それが原因なのかも?

  • pieta

    メンバー
    2024年9月19日 at 9:06 PM

    こんにちは

    毎回20~30秒かかるのであれば長い印象ですが、
    各ステータスの時間はどれぐらいでしょうか?

    また、何もアクションを登録していない空フローを実行した場合の時間は如何でしょうか?

    私もYmotさんと同じ意見で、PCのスペックでは改善しないような気がします。

  • pieta

    メンバー
    2024年8月23日 at 9:52 PM

    こんにちは

    「新しいChromeを起動する」アクションの「詳細」タブにある

    ”Webページの読み込み中にタイムアウト”、”タイムアウト”

    の数値を大きくするか、エラー発生時の”再試行ポリシー”欄から「固定」を選択して、再試行回数を2以上の数値に変更すると改善される可能性があります。

    参考:https://qiita.com/maekawawawa/items/4eaaec0d542fdd383c60

    • この返信は 1 年, 1 月 前 で  pieta 変更されました。
  • pieta

    メンバー
    2024年8月23日 at 8:59 PM

    こんにちは。

    Ymotさんが書かれてる通り、ループを使う場合は変数をリスト型にする必要があります。

    尚、「変数の設定」アクション(「新しいリストの作成」アクションではありません)で以下の例ように記載すれば直接リスト型として格納出来ます。

     %[‘検索キー1′,’検索キー2′,’検索キー3’]%

    参考:https://qiita.com/sys_zero/items/82951049466791b2b728

    ただ、200項目ともなると、保守のし易さ的にはエクセルに検索キーのリストを保存しておいて、「Excelの起動」→「Excelワークシートから読み取る」アクションでリストを取得する方がベターな気がします。

  • pieta

    メンバー
    2024年12月27日 at 6:07 PM

    「名前~」という表示が出るのは「名前の定義」で設定されている名前が重複しているか
    参照エラー(#REF!)になっているからと考えられます。

    対処法は

    エクセルファイルA,Bを開き、「数式」タブ内の「名前の管理」をクリックして
    それぞれのファイルで登録されている名前の一覧を確認

    値が“#REF!”になっている名前があれば全て削除

    削除しても構わないと分かる名前も削除

    同じ名称の名前がある場合は別の名前に変更(ファイルAとBで同じ名称の場合も含む)

    ファイルを上書き保存

    これでも表示が出る場合は非表示の名前が設定されている可能性があります。

    「エクセル 非表示の名前 表示する」等のキーワードでネット検索すれば
    表示方法が分かるかと思うので、名前を表示させた上で再度上記の対処法を実施してください。

    リンクについては詳細が分からないので何とも言えないです。

    他の良い方法について
    検討済みかもしれませんが、
    個人的にはシートをコピーするのではなく「データの取得」(パワークエリ)でデータを取得するか
    最初から一つのエクセルファイルに統合する方がトラブルにならないとは思います。

  • pieta

    メンバー
    2024年9月30日 at 3:25 PM

    一度親スクリーンのセレクター編集画面*を添付してみてもらえますか?
    *”window”で始まるのと”pane”の両方

    例として画像添付しておきます。

    1つ目の画像が、セレクターが1つだけの場合です。

    このセレクターでエラーが出たときは、編集画面左上の「+新規」をクリックして
    セレクターを取得し直して追加します。追加したのが2つ目の画像です。

    (2つの画像の下の「セレクターをプレビューする」が異なってるのを確認してください)

    こうすることで、どちらか一方でもセレクターが合っていれば正常にフローが実行されます。

  • pieta

    メンバー
    2024年9月29日 at 1:42 PM

    「親スクリーンが見つからないエラーとなってしまう場合意味がないですよね」

    いえ、親スクリーンのセレクターも編集すれば対処出来ると思います。

    実際、私が先の回答で記載したセレクターの例は親スクリーンのセレクターです。

    別の例を添付しておきます。

    参考になれば幸いです。

  • pieta

    メンバー
    2024年9月26日 at 3:30 PM

    こんにちは

    コミュニティフォーラムに同様の書き込みがあったのを思い出しました。以下URL参照

    https://community.powerplatform.com/forums/thread/details/?threadid=81aa9c3b-f56f-ef11-a671-002248307cf6

    Verを変えたら解決した人もいれば何もしていないのに戻った人もいるようです。
    原因はハッキリしないですが、私達だけじゃないことから、いずれ対処されると思います(希望的観測)。

    参考になれば幸いです

  • pieta

    メンバー
    2024年9月6日 at 6:16 PM

    そうですか、、、

    そうなると対策は

    ・拡張機能の再インストール

    ・Edgeブラウザーに変更する

    ・(2)-②をアクション「Webページに移動」に変更してURLでダウンロード用の画面を開く

    ・(2)-③,④をアクション「マウスを画像に移動」等に変更してダウンロードボタンをクリックする

    原因を追究する場合は

    ・ウィンドウがフォアグラウンドになっているか確認するため、(2)-③の前で一度処理を停止する

    ・待機時間を変えてみて、エラーの発生するタイミングが処理経過時間なのか処理の繰り返し回数なのかランダムなのか確認する

    ・フローを二つに分けずに一つで処理する

    思いつくのはこれぐらいです。 お役に立てれば幸いです。

1 - 29 of 29 投稿を表示