0

いつも大変お世話になっております。

タイトルのとおり、変数(文字列)の文字数を取得して、
100文字(バイト)かそれ以外(100文字未満)かで分岐をさせたいのですが、
変数上文字数が「100」となっていても「100文字未満(偽)」にいってしまいます。
1日いろんな方法を試してみたのですがうまくいかず、助けていただきたく投稿しました。

【作業フロー】
①Excelに記載のある文字列を取得し、「摘要」変数へ格納
②会計システム(自社開発)へ勘定科目等を貸方・借方に入力
③「摘要」の文字数を「文字数カウント」ライブラリで取得し、
 「摘要_文字数」変数へ格納
④最後に「摘要」を貼付
⑤エミュレーションで下段の貸方勘定科目入力欄へ移動
 (「摘要_文字数」によりキー操作が分岐)

【環境】
OS:Windows10
WinActor:ver.7.2.1

システムは自社開発のもので、リモートデスクトップ接続による操作のため、
操作は画像マッチング、エミュレーション、文字列送信等で行う必要があります。
勘定科目等に入力したら、最後に摘要を入力し、その後一段したの行に行き、
続けて次の勘定科目情報を入力していくのですが、
摘要の入力欄に文字数制限があり、100バイトまでとなっており、
100バイトぴったり設定した時と100文字未満(100バイト未満)の時とでは
入力後のカーソルの位置が変わってしまい、下段の貸方勘定科目入力欄に移動する際の
エミュレーションのキーが変わってしまいます。

100バイトの時は、Tab⇒Up⇒Left*2 となりますが、
100バイト未満の時は、Down→Left となりますので、100バイトかそれ以外かで
分岐をさせたいです。
※100バイトを超えることはないので「それ以外」=「100バイト未満」としています

文字列カウントのスクリプトは「len」関数が使われていたので、
スクリプトは「lenb」に修正して、変数にも想定していたバイト数がとれていることは確認しています。

str_lenb = Lenb(str)
SetUmsVariable result, str_lenb に修正しました。

分岐グループの条件は、以下のように設定しています。

「条件」 「摘要_文字数」 「=」 「(値⇒)100」

「摘要_文字数」 「等しい」 「(値⇒)100」
も試してみましたが、全て「それ以外(偽)」に分岐されてしまいます。

また、四則演算で *1 をしてみましたが、ダメでした。

ただし、「摘要_文字数」の初期値に「100」を入力して、その分岐グループのみ
部分実行すると正常に分岐されます。

3月中に完成させなければいけないシナリオで、ほぼほぼ出来上がっているのですが、
ここでつまずき端末を操作できる日も3月は今日が最後だったためかなり焦っています。
(結局25日端末が空いていたのですが、休みだったので取り消して対応することになりそうです笑)

もしかしたら平凡なところで設定ミスなどしている可能性もありますが、
何かお気づきのところがあればご指摘いただけますと幸いです。

よろしくお願いいたします。

HRE 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。