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

1 - 24 of 24 投稿を表示
  • Tomo

    メンバー
    2023年11月27日 at 5:00 PM

    コメント失礼します。

    上記につきまして、「トリガーの既存の問題と制限」としてあるようですね。

    おっしゃる通り「アクションの種類」で、どの操作でトリガーが起動したかを判別可能とありますが、 追加 added、更新 updated、削除 deletedでのフィルタとなり、同じ場合はできないかもしれませんね。

    アップデート等で改善されると良いのですが、、

  • Tomo

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

    kyuuさん

    コメント失礼します!!

    >CSVファイルの中に複数項目があり、その中に『姓』『名』があります。

    上記は、最初の行に、項目が並んでおり、「姓」「名」の列がある状況でしょうか。
    その場合、顧客の名前が、2行目から「姓」「名」で並んでいるかと存じます。

    上記の場合、「Excelワークシートから読み取る」アクションにて、
    設定(パラメーターの選択)は下記にすると良いかと存じます。

    ・ワークシートに含まれる使用可能なすべての値

    >詳細設定から、範囲の最初の行に列名が含まれていますをONにします。

    これにより、2行目からの情報がテーブル型で変数:ExcelDataに保存されます。

    その後、「For each」アクションで2行目からの行を対象とし、

    「For each」と「end」アクションの間に、「テキストの結合」を配置します。

    「姓」の列が3列目、「名」列が4列目とした場合、
    設定(パラメータの選択)の結合するリストを指定は、

    %CurrentItem[2]%%CurrentItem[3]%とします。
    ※0からカウントするため

    生成された変数:JoinedText には、結合された文字列が格納されます。

    上記方法で結合した文字列を指定の場所に追加(書き込む)などはいかがでしょうか。

  • Tomo

    メンバー
    2023年8月29日 at 5:29 PM

    rrrさん

    コメント失礼いたします。

    Excelを閉じるアクションで、PERSONAL.XLSBブックを保存のダイアログが表示されるのは、
    特定のファイルのみでしょうか?他のExcelファイルでも同様にダイアログ表示されますでしょうか。

    また、Excelファイルは、xlsm(マクロ有効ブック)でしょうか。

  • Tomo

    メンバー
    2023年8月22日 at 11:01 AM

    rururuさん

    コメント失礼いたします。

    >PowerAutomateの再インストールや、拡張機能の再インスト―ル

    仰ると通り、拡張機能が必要ですと表示される場合、
    上記は有効な手順かと思われますが、解決されないということですね、、

    念のため、chromeの右上の縦三点>その他のツール>拡張機能にて、

    PowerAutomateの拡張機能はオンになっておりますでしょうか。

    また、改善策とは異なりますが、ブラウザをEdgeに変えてみるのはいかがでしょうか。

  • Tomo

    メンバー
    2023年7月6日 at 6:24 PM

    fq1keo 様

    Microsoftの公式HPに情報に関する確約について記載がございました。

    https://www.microsoft.com/ja-jp/trust-center/privacy

    ご参考になれば、幸いです。

  • Tomo

    メンバー
    2023年6月26日 at 5:21 PM

    beair1様

    PADでは「マウスを待機する」というアクションで、
    矢印、Iビーム、待機カーソルに変わるまで、待機させるという設定が可能です。

    ですが、おっしゃるようにCitrixやRDPなどの仮想デスクトップ環境では、 PADのアクションの一部が制限される場合があります。

    公式の記事では、仮想デスクトップで Citrix または Microsoft Remote Desktop Protocol (RDP)を 使用している場合は、「UI 要素のキャプチャ」、「UI 自動化アクションのデプロイ」、 および 「レコーダーを使用したデスクトップ フローの作成」が、物理デスクトップと同じようにできます。とあります。

    なお、別の記事では、マウスとキーボードおよび OCR アクションを使用して自動化する (VDI での自動化に推奨)
    という記載が公式にありますので、上記については可能かと思われます。

    「参考記事」
    ・https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/virtual-desktops
    ・https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/how-to/automate-using-mouse-keyboard-ocr

  • Tomo

    メンバー
    2023年4月19日 at 2:44 PM

    hiro.com様

    コメント失礼いたします!

    フローにつきまして、下記のような流れでしょうか。

    ①名前の変わるファイル名をシステム(ブラウザ等)からUI要素で取得。

    ◆その際、取得する情報はファイル名でよろしいでしょうか?

    ②取得したファイル(ファイル名)に対して、「実行中のExcelに添付」アクションを使用し、Excelインスタンスを取得し、利用する。

    ファイル名を「ウィンドウの詳細を取得する」のアクションで取得できたとします。

    ウィンドウ プロパティ:ウィンドウタイトルを取得する
    生成された変数:WindowProperty(ファイル名:〇〇)

    ————————–
    Excelインスタンスを取得する際、「実行中のExcelに添付 」のアクションにて
    Excelドキュメント〇〇が見つかりませんと表示される場合は、

    Excelが開かれていない可能性。
    もしくは開いているが、
    「実行中のExcelに添付」のドキュメントパスが正しくない可能性があります。

    >(ファイル名が固定されていてUI要素を使用しないで上記のフローを実行するとエラーにはなりません)

    ◆ファイル名が変わる場合で、Excelインスタンスを利用したいファイルはどのように指定しておりますでしょうか。※下記、デスクトップに指定のファイルが保存されている場合

    「実行中のExcelに添付」

    パラメーターの選択
    ドキュメント名:C:\Users\ユーザー名\Desktop\%WindowProperty%.xlsx
    生成されたインスタンス:ExcelInstance

    また、「実行中のExcelに添付」は、既に開いているExcelファイルに対して、Excelインスタンスを生成します。
    指定パスが正しい場合でも、開いていない場合は、エラーが発生します。

    回答がずれていた場合、すみません。
    お役に立てれば幸いです。

  • Tomo

    メンバー
    2023年4月3日 at 6:20 PM

    コメント失礼いたします!

    Excel内に作成したいフォルダ名が並んで記載されている場合、
    「Excelワークシートから読み取る」でフローを作成できるかと存じます。

    取得:ワークシートに含まれる使用可能なすべての値
    生成された変数:ExcelData

    上記の設定で、データテーブル型のExcelDataには、下記のようになります。
    ※A1のセルにABC-A、
    A2のセルにDEF-Aのように縦に並んでいる場合、

    #|Column1
    0|ABC-A
    1|DEF-A
    2|GHI-A
    3|JKL-A

    次に「For each」アクションを使用し、
    反復処理を行う値:%ExcelData%を設定します。

    「For each」と「End」の間に「フォルダの作成」アクションを挟みます。
    ※「For each」アクションで生成される変数:%CurrentItem%は、
    ABC-Aから降順に入れ替わり最後まで処理を行います。

    パラメーター
    新しいフォルダ-を次の場所に作成:作成したいフォルダーパスを指定
    新しいフォルダー名:%CurrentItem%

    上記の方法でフォルダを作成できるかと存じます。
    ーーーーーーーーーーーーーーーーー
    【画像の振り分けについて】
    画像の格納されているフォルダが一箇所であれば、「フォルダ-内のファイルを取得」アクションで、振り分ける画像の情報をまとめて取得できます。

    パラメーターのファイルフィルターで取得したい画像の形式合わせて絞り込むことができます。

    ※png形式の画像の場合

    パラメーター
    ファイルフィルター:*.png
    生成された変数:Files

    #|アイテム
    0|C:Users\ユーザー名\Desktop\振り分け用\画像データ¥ABC-A.png

    1|C:Users\ユーザー名\Desktop\振り分け用\画像データ¥DEF-A.png
    2|C:Users\ユーザー名\Desktop\振り分け用\画像データ¥GHI-A.png
    3|C:Users\ユーザー名\Desktop\振り分け用\画像データ¥JKL-A.png

    次に、先に作成したフォルダに画像を振り分けていきます。
    「フォルダ内のサブフォルダーを取得」アクションで、新しいフォルダを作成した階層を指定し、フォルダの情報を取得します。

    パラメーター
    フォルダ-:新しいフォルダを作成した階層パスを指定
    生成された変数:Folders

    #|アイテム

    0|C:Users\ユーザー名\Desktop\振り分け用\ABC-A
    1|C:Users\ユーザー名\Desktop\振り分け用\DEF-A
    2|C:Users\ユーザー名\Desktop\振り分け用\GHI-A
    3|C:Users\ユーザー名\Desktop\振り分け用\JL-A

    これにより、画像のパスと格納先のフォルダパスを取得できました。

    ここから、取得した画像リスト(Files)に対して「For each」アクションを使用します。

    パラメーター
    反復処理を行う値:%Filse%
    保存先:CurrentItem2

    続けて、「For each」アクションを使用します。
    今度は、取得したフォルダリスト(Folders)を設定します。

    反復処理を行う値:%Folders%
    保存先:CurrentItem3 ※同じ変数名には自動的に末尾に数字が付き区別されます。

    さらにその中に、「if」アクションを設定します。

    パラメーター

    最初のオペランド:%CurrentItem2.NameWithoutExtension%
    演算子:次を含む
    2番目のオペランド:%CurrentItem3.name%

    %Currentltem2.NameWithoutExtension%⇒ABC-A
    %CurrentItem3.Name%⇒ABC-A
    (CurrentItem3は、フォルダのため拡張子はありません)

    ※補足
    .FullName ⇒ファイルのフルパス。
    .Name ⇒拡張子を含むファイル名。
    .NameWithoutExtension ⇒拡張子を含まないファイル名。

    フォルダ名に対して、ファイル名が含まれているかを判定しています。

    次に「if」アクションの間に「ファイルの移動」アクションを入れます。
    これにより、ファイル名が含まれていた場合、フォルダに格納されます。

    パラメーター
    移動するファイル:%Currentltem2.name%
    宛先フォルダ-:
    C:\Users\ユーザー名\Desktop\振り分け用\%CurrentItem3.Name%
    ファイルが存在する場合:何もしない
    生成された変数:MovedFiles

    【重要】
    ファイルの移動と合わせて、「ループを抜ける」アクションを設定します。

    これにより、画像ファイル1つを対象として、
    ファイル名と各フォルダ名を比較し、フォルダ名にファイル名が含まれなければ、
    次のフォルダ名と比較し、一致する場合は、「ファイルの移動」アクションにより画像ファイルを格納し、「ループを抜ける」で次の画像ファイル処理に移行します。

    ※「ループを抜ける」一つのループから抜けます。

    文章のみ、かつ長文で恐れ入りますが、
    お役立ちできれば、幸いでございます。よろしくお願いいたします。

  • Tomo

    メンバー
    2023年3月16日 at 4:57 PM

    コメント失礼いたします!

    PADの「outlookを起動します」アクションでは、
    パラメーターの設定はなく、そのままoutlookアプリが起動されます。

    そのため、管理特権モードでの起動については、outlook側でのトラブルシューティングが必要である可能性があります。

    管理特権モードでoutlookが起動してしまう場合について、
    下記のような記事がございました。
    https://answers.microsoft.com/ja-jp/outlook_com/forum/all/outlook%E3%81%A7%E3%81%AE%E7%AE%A1%E7%90%86/a3087b3f-fa83-4f6c-a658-4dbf4d380f8f

    その中で、互換性のトラブルシューティングで推奨設定にしたら管理者モードではなくなったという内容がありました。

    1,デスクトップの右下の検索欄にoutlookと入力
    2,表示されたoutlookを右クリック⇒ファイルの場所を開く
    3, outlook.exe(もしくは、ショートカットアイコン)右クリックし、
    互換性のトラブルシューティングを選択。

    4,推奨設定を使用する。

    明確な回答ではなく恐縮ですが、ご参考になれば、幸いです。

  • Tomo

    メンバー
    2023年3月14日 at 5:57 PM

    「PADの外(Excel)でまとめてから取込はフローではなく、PAD内でデータテーブル同士を結合する方法について」

    「行をデータテーブルに挿入する」アクションで可能かと存じます。

    (例)
    ①元のExcelデータを「Excelワークシートから読み取る」で、
    結合したいテーブル型のExcelData、ExcelData2を生成します。

    ②「新しいデータテーブルを作成する」アクションで、空のデータテーブルを作成します。
    ※こちらに結合するデータをまとめていく。

    パラメーター設定で作成する行と列の範囲を決めます。

    結合するデータテーブルの列数が同じとのことなので、その数と同じ列数を設定します。
    ・新しいテーブル:行1、列6  など
    ・生成された変数:DataTableSum

    上記で作成した(DataTableSum)に「行をデータテーブルに挿入する」アクションで、結合させたいデータを挿入します。

    ※「行をデータテーブルに挿入する」は、下記のようなパラメーターが設定できます。
    ・データテーブル:DataTableSum
    ・挿入場所:データテーブルの末尾
    ・新しい値:%CurrentItem%

    その際、新しい値には、【データテーブル型を挿入することはできません。】
    ※このパラメーターは、列の数がデータテーブルの列数と一致するリスト、またはデータ行数を受け取ります。

    参考:変数のデータ型について(データ行について)
    https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/variable-data-types

    そのため、「For each」を使用し、元のテーブルデータをデータ行数型(%CurrentItem%)として、DataTableAに挿入します。
    ・反復処理を行う値:ExcelData
    ・保存先:CurrentItem

    結合するもう一方のデータテーブルも同じように処理を行います。

    結合したいデータの元であるExcelData、ExcelData2に列名が入っている場合は、予め 「データテーブルから行を削除する」などで削除、if文などで回避できるかと思います。

    —————————–
    なお、ご質問いただきました行方向での結合についてですが、
    列(ヘッダー)固定で下にデータが並ぶ形でよろしいでしょうか。

    ご参考になれば、幸いです。よろしくお願いいたします。

  • Tomo

    メンバー
    2023年3月6日 at 10:14 AM

    >ウィンドウ内のテキストフィールドに入力 でIDを入力しようとしても、テキストフィールド自体認識してもらえないようなのです。

    「Webページ内のテキストフィールドに入力する」アクションは、
    予めWebブラウザーインスタンスの設定が必要になります。

    Webブラウザーインスタンスは、Edgeを使用しているのであれば、「新しいMicrosoftEdgeを起動」アクションの、起動モードを「新しいインスタンスを起動する」で立ち上げることで生成できます。
    ※起動モードで、実行中のインスタンスに接続を選択すると、既存のWebページに対してもインスタンスを生成できます。
    ———————————–
    >Webページの詳細を取得しますアクションでWebページソースを取得してみました。
    なぜか別タブが開く前の最初のページのソースが取得されます。

    上記のアクションについてもWebブラウザーインスタンスが、最初のページに設定されてしまっている可能性があります。

    ご参考になれば幸いです。

  • Tomo

    メンバー
    2023年3月3日 at 2:05 PM

    「CSVファイルから読み取る」アクションで取得した場合、テーブル型のデータとして保存されます。

    取得した行の数だけ、繰り返しを行いたい場合は、「For each」アクションを使用するのが良いと思います。「For each」と「End」間のアクションを、指定したデータの行数分、繰り返し処理を行ってくれます。

    1行目⇒|No01|〇〇|××|△△|
    2行目⇒|No02|〇〇|××|△△|
    3行目⇒|No03|〇〇|××|△△|

    「For each」アクションのパラメーター設定
    ・反復処理を行う値:テーブル型変数の名前
    ・保存先:CurrentItem(上から順に一行ごとのデータが格納されます)

    また、行数(データ数)を変数として取得、演算処理などで使用したい場合は、
    「データテーブル列をリストに取得」アクションで、
    リスト型として生成された変数(ColumnAsList)に、Countを加えることで数字として表示できます。

    リスト型に含まれる要素の数を取得するには以下のように記述します。
    ※テーブル型ではエラーになります。

    %リスト型変数の名前.Count% 

    (例)
    メッセージで件数を表示したい場合
    「メッセージを表示」アクションのパラメーター設定

    ・表示するメッセージ:本日、取得した件数は%リスト型変数の名前.Count%件です。

    ※ データテーブル型、リスト型の違いについて
    https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/variable-data-types

  • Tomo

    メンバー
    2023年2月15日 at 5:54 PM

    Tesseractエンジンは標準では日本語に対応していないようです。
    別途、日本語の言語ファイルのインストールが必要となります。

    なお、「WindowsOCRエンジン」は標準で日本語が搭載されているので、こちらをお試しされると良いかと思います。
    私が試した画像では、住所や会社名など読み込んでくれましたが、
    画質や、文字の大きさにも左右されるので、業務フローに組み込むには工夫が必要だと思います。

    「PDFからテキストを抽出」のアクションについて——
    「OCRを使ってテキストを抽出」のアクションは、元データが画像データ(JPGなど)である必要があり、PDFファイルは指定できません。

    先にPDFファイルを開いておき、OCRソース:フォアグラウンドウインドウで取得するなどの方法はあるかもしれませんが、
    元データがPDFの場合は、「PDFからテキストを抽出」のアクションを使用するのが良いかと思います。

  • Tomo

    メンバー
    2023年2月9日 at 1:59 PM

    「PDFから画像を抽出」アクションを使用した場合でのエラーでしょうか?

    本アクションで抽出する画像は、対象のPDFに画像データとして設定されている必要があり、
    紙ベースのものをスキャンしたPDFファイルには使用できません。

    (例)Word(.docx)ファイルをPDFに変換したものを抽出した際、Wordの挿入タブから取り込んだ「グラフ」、「図形」、「アイコン」は読み取れません。

    挿入タブの「画像」から選択したものは、「PDFから画像を抽出」で取得されます。

    また、PowerPointが元のPDFファイルは、「テキストボックス」は認識されず、
    挿入タブからの「画像」や「ワードアート」は認識されます。

    ※補足
    取り込まれた画像については、「PDFから画像を抽出」のパラメータ設定の画像名で、名前を付けることができます。
    複数画像が読み取れた場合、名前_0.png、名前_1.pngで保存されます。

  • Tomo

    メンバー
    2023年2月7日 at 5:24 PM

    こちらの事象につきましては、Power Automate Desktop バージョン 2.28 より、
    ユーザーがサインインできるよう、有効な証明書がPC上にあるかどうかを確認する動作が要因になっている可能性があります。

    今まで使用できていたのであれば、まず接続するネットワークの切り替えや再接続、PCの再起動を試してください。

    それでも改善しない場合などは、レジストリキーを使用して証明書チェックをバイパスする方法がございます。以下の手順をご確認いただけますと幸いです。

    <手順>

    1. 事象が発生している端末の管理者権限を持ったユーザーで Windows にサインインします。

    2. レジストリエディタを開きます。
    ※ スタートメニューで「regedit」を検索

    3. レジストリエディタで、フォルダComputer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Power Automate Desktop\Serviceに移動します。
    (このフォルダが存在しない場合は、代わりにComputer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Power Automate Desktop\Serviceに移動します)

    4. フォルダーで右クリックし、[DWORD 値>新規作成] を選択します。

    5. 値に “AgentPingTimeoutSeconds” という名前を付け、値を 30 に設定します。

  • Tomo

    メンバー
    2023年1月26日 at 12:21 PM

    おっしゃる通り、マウス移動アクションで、Webページやアプリなどが、アクティブになっている場合、
    その画面に対して、F10キーの操作が実行され、PADの「アクションごとに実行」が適用されないと存じます。
    ブレークポイント使用後も同様かと存じます。

    マウスの移動アクションの座標を動かさず、推移を確認する方法として、
    「アクションごとに実行」で1つずつ処理を確認する代わりに、「メッセージを表示」のアクションを配置して、移動と処理ができているか確認し、表示された「OK」をEnterで閉じてはいかがでしょうか。閉じると座標を動かさず次の処理に移行できるかと存じます。

    明確な解決策とはなっておらず、すみません。

  • Tomo

    メンバー
    2023年1月19日 at 12:13 PM

    下記、2つの方法でメンションすることができます。

    ①HTMLモードにて<at>UPN</at>を手入力する方法
    ※UPN・・・Microsoft365にログインするIDのこと(基本的にはメールアドレスになります)

    こちらは、「チャットまたはチャンネルでメッセージを投稿する」アクションを使用した際、設定項目のMessgeに<at>UPN</at>と入力します。

    その際、右上にあるコードビューのアイコン</>をクリックしてください。
    モードを変更せずに記載するとそのまま文字列として認識されてしまいます。

    —————————————————–
    ②「ユーザーの@mentionトークンを取得する」アクションを使用し、動的なコンテンツを入力する方法
    こちらは、「チャットまたはチャンネルでメッセージを投稿する」アクションを使用する前に、組み込むアクションです。

    「ユーザーの@mentionトークンを取得する」の設定項目、ユーザー:にてUPNを設定します。
    「チャットまたはチャンネルでメッセージを投稿する」で設定項目のMessgeを入力する際、右下にある「動的なコンテンツの追加」から@mentionを選択します。

    ※@mentionは、「ユーザーの@mentionトークンを取得する」で設定したユーザーがメンションされます。

    後者は、「ユーザーの@mentionトークンを取得する」のUPNを変えれば、本文に記載されているメンションも変えられるので、メンテがしやすいかと思います。

  • Tomo

    メンバー
    2022年6月7日 at 10:05 PM

    私の方でも試したところ、yahooページに移動できているのに、
    「移動できませんでした」とエラーが表示されました。

    求めている回答とは異なるかもしれないのですが、

    別フローも含め、アクションのブラウザを「新しいMicrosoft Edgeを起動する」
    に変更したところ、エラーは発生しませんでした。

  • Tomo

    メンバー
    2022年5月31日 at 10:06 AM

    Set関数にて変数を作成し、変数をテキストボックスのvisibleに追加させれば可能です。

    手順は下記の通りです。
    例)チェックボックスにチェックを入れたらテキストボックスを表示させる

    1. Set関数を設定。今回は変数「テキストボックス表示」を作成し初期値は「非表示」にて設定・・・・・Set(テキストボックス表示,”非表示”)

    2. チェックボックスを作成しOnCheckには変数の値を「表示」にするように設定・・・・・・・・・・・Set(テキストボックス表示,”表示”)」

    3, OnUncheckには変数の値を「非表示」にするように設定・・・・・・・・・・・・・・・・・・・・・Set(テキストボックス表示,”非表示”)

    4, テキストボックスを作成し「visible」にIF関数にて変数が「表示」だった場合は表示にすると設定・・・If(テキストボックス表示=”表示”,true)

    (IF関数を使わずに「visible」に変数を設定するだけでも同じ動きはするが警告マークが出るためIF関数にて設定)

  • Tomo

    メンバー
    2022年5月25日 at 10:42 AM

    別のExcelファイル(パスワード付き)でも同じように解除できないのでしょうか。

    もし、入力したパスワードが間違っている場合は、エラーの詳細画面で下記が表記されます。
    「入力したパスワードが間違っています。CapsLock キーの状態に注意して、大文字と小文字が正しく使われていることを確認してください。」

    ※エラー詳細は、エラー発生時の画面左下のエラー内容をダブルクリック、
    「エラーの詳細」に記載されております。文面が長い場合は右にスクロールできます。

    また、どうしても動かない場合は、再試行オプションを試してみてはいかがでしょうか。
    「Excelの起動」アクションを開き、左下の「エラー発生時」を選択、

    「エラーが発生した場合にアクションを再試行する」をONにして保存で設定できます。

  • Tomo

    メンバー
    2023年4月27日 at 11:45 AM

    hiro.com様

    情報の共有をいただき、ありがとうございます。

    1. Excelファイルを開き、UI要素の追加でExcel画面の情報を取得し、
    セレクター編集のNameを「含む」にして、一致する部分だけを残します。
    ※日付など毎回変わる部分は削除、上記内容であれば、「売上データ」のみを残す。

    2.「ウィンドウの詳細を取得する」アクションで上記のExcelファイルの名前を取得します。
    この際、ウィンドウプロパティが、「ウィンドウタイトルを取得する」の場合、
    「売上データ_20221029…xlsx – Excel」というテキスト値で、
    生成される変数%WindowProperty%に格納されます。

    3.「実行中のExcelに添付」を使用し操作に必要なインスタンスを生成する。
    その際、パラメーターは下記のようになると思います。
    ————————
    ドキュメント名:%WindowProperty%
    生成された変数:ExcelInstance
    ————————

    セレクターのNameを含むの設定で、売上データのみにしているので、上記方法でもできましたが、上記のドキュメント名の設定は「Excelドキュメントの名前」、またはパスで指定するよう説明があります。

    エラーになる場合は、s.s様がおっしゃるように、
    テキストのトリミングで要素を省いて設定した方が安定するかと存じます。

    ————————
    パラメーター
    元のテキスト:%WindowProperty%
    モード:指定されたフラグの前にあるテキストを取得する
    終了フラグ: – Excel
    生成された変数:%CroppedText% ※トリミングされた新しいテキスト
    ————————
    以上、長文失礼しました。お役に立てれば幸いです。

  • Tomo

    メンバー
    2023年4月13日 at 5:35 PM

    syoshinsya00様

    修正いただき、ありがとうございます!
    お手数をお掛けし申し訳ございませんでした。

    1-23-45-6.jpgにつきまして、フォルダに移動できたとのことと、
    区切り記号について、まずはMTのみで実施いただける旨、承知しました。

    <ご確認させていただきたい箇所について>
    ■ 焦点となる共通文字列を取得(1-23-45-6)について

    「テキストの分割」で生成された「TextList」は下記のようになっておりますでしょうか。

    TextList(リストテキスト値)
    #|アイテム

    0|C:Users\ユーザー名\Desktop\振り分け用\23

    1|1-23-45-6

    ※補足:【デバックされる際の便利な機能について】
    フロー作成画面の各アクションの並びに対して左側に1から数字が並んでおりますが、
    クリックすることで、「ブレークポイント」を設定できます。(赤い丸)
    フロー実行中に一時停止するようになるので、変数の現在値を確認できます。

    ———————————————————
    ■ 画像ファイル名に、1-23-45-6が含まれているか判定について

    1-23-45-6.jpgが判定できているということは、
    「次を含む」の設定になっているかと思われますが、念のため、演算子は「次を含む」になっておりますでしょうか。

    ———————————–
    【If】
    パラメーター
    最初のオペランド:%CurrentItem2.NameWithoutExtension%
    演算子:次を含む
    2番目のオペランド:%TextList[1]%

    %TextList[1]%⇒1-23-45-6 (フォルダ名の共通共通文字列のみ)
    %CurrentItem2.NameWithoutExtension%⇒23AA1-23-45-6-A(拡張子を含まないファイル名)

    ———————————–

    >1-23-45-6のあとに「-A」「-B」「_1」「-ロゴ」.jpgとついたものは移動しませんでした。

    上記につきまして、エラーメッセージなどは表示されておりますでしょうか。
    もしくは、画像ファイル自体が「For each」アクションでの判別対象にされていなかったのでしょうか。

    お忙しいところ、恐れ入りますが、ご確認いただけると幸いです。
    よろしくお願いいたします。

  • Tomo

    メンバー
    2023年4月6日 at 6:30 PM

    syoshinsya00様

    大変失礼いたしました。
    移動するファイルなのですが、先の記述が間違っておりました。

    ⑦ファイルの移動

    移動するファイル:%CurrentItem2.name%

    ではなく、パスである必要があるため、%CurrentItem2%になります。

    お手数ですが、よろしくお願いいたします。

  • Tomo

    メンバー
    2023年4月5日 at 1:26 PM

    syoshinsya00様

    >画像:1-23-45-6のあとに「-A」「-B」「_1」「-ロゴ」.jpg

    詳細につきまして、ご教示いただきありがとうございます。
    おっしゃる通り、共通のワードを抜き出すのが良いと思います。

    ——————————————
    「フォルダ-内のファイルを取得」アクションで下記を取得します。

    Files(リスト)
    #|アイテム
    0|C:Users\ユーザー名\Desktop\画像データ\23AA1-23-45-6-A.png
    1|C:Users\ユーザー名\Desktop\画像データ\23AA6-54-32-1-B.png
    2|C:Users\ユーザー名\Desktop\画像データ\23AA1-35-79-0_1.png
    3|C:Users\ユーザー名\Desktop\画像データ\23AA0-97-53-1-ロゴ.png

    「フォルダ-内のサブフォルダを首都k」アクションで下記を取得します。
    Folder(リストフォルダ-)
    #|アイテム
    0|C:User\ユーザー名\Desktop\振り分け用\23AA0-97-53-1
    1|C:User\ユーザー名\Desktop\振り分け用\23AA1-23-45-6
    2|C:User\ユーザー名\Desktop\振り分け用\23AA1-35-79-0
    3|C:User\ユーザー名\Desktop\振り分け用\23AA6-54-32-1

    この後、同じように「For each」で下記を設定します。

    反復処理を行う値:%Files%
    保存先:CurrentItem2

    続けて中に「For each」で下記を設定します。
    反復処理を行う値:%Folders%
    保存先:CurrentItem3

    ——————————————–

    次に「テキストの分割」を使用し、下記のように設定します。

    分割するテキスト:%CurrentItem3%
    区切り記号の種類:カスタム
    カスタム区切り記号:AA
    生成された変数:TextList

    TextList(リストテキスト値)
    #|アイテム

    0|C:Users\ユーザー名\Desktop\振り分け用\23
    1|1-23-45-6

    ※AAを起点とし分割されます。
    この後、「IF」を使用し、下記設定を行います。

    パラメーター
    最初のオペランド:%CurrentItem2.NameWithoutExtension%
    演算子:次を含む
    2番目のオペランド:%TextList[1]%

    ※「1-23-45-6」が「23AA1-23-45-6-A」に含まれるかを判定します。
    最初のオペランドを.NameWithoutExtension⇒拡張子を含まないファイル名
    で設定しておりますが、プロパティは.FullNameなどを選択しても問題ないかと存じます。

    条件を満たす場合、「ファイルの移動」と「ループを抜ける」アクションを実行させます。
    上記の方法はいかがでしょうか。お役立ちできれば幸いでございます。

1 - 24 of 24 投稿を表示