Excel2016と2010で取得できる位置情報が異なる

Launch UI ExplorerにてExcelの位置情報を取得し、
それを利用してSendHotkeyやType Into アクティビティのSelecterに設定しています。
Excel2010がインストールされた端末で作成したフローが、
Excel2016がインストールされた端末では動作せず、
Selecterに設定されたものが見つからない、といったエラーが表示されてしまいます。

■2016で取れた値■
<wnd app=‘excel.exe’ cls=‘XLMAIN’ title=‘sample_シート名取得.xlsm - Excel’ />
<wnd cls=‘EXCEL7’ title=‘sample_シート名取得.xlsm’ />

●2010で取れた値●
<wnd app=‘excel.exe’ cls=‘XLMAIN’ title=‘Microsoft Excel - sample_シート名取得.xlsm’ />
<wnd cls=‘EXCEL7’ title=‘sample_シート名取得.xlsm’ />
<ctrl name=‘sample_シート名取得.xlsm’ role=‘client’ />
※3行目は削っても動作可

それぞれでは動作しますが、2016で取れた値を設定して2010側で実施するとエラーとなります。
逆の場合も同様です。
バージョン違いが影響しているものかと思われますが、
毎回Selecterを2016対応版に変更するのも大変なので、
何かいい方法をご存知でしたらご教示いただけますと幸いです。

1 Like

単純にSelectorをわけるだけなら

<wnd app='excel.exe' cls='XLMAIN’ title=‘*sample_シート名取得.xlsm*' />
<wnd cls='EXCEL7' title='sample_シート名取得.xlsm' />

のような感じで、シート名にワイルドカードを設定する、ぐらいでしょうか。

あとは、最初のセレクタを用いてAttach Windowでスコープとして囲ってしまうと、誤差を吸収したワークフローを作りやすいのではないかと思います。

1 Like

Honoka様

毎度ご回答ありがとうございます。
ワイルドカードで許容させるという設定方法は他でも色々利用できそうです。
大変助かりました。

Attach Windowで囲えばいちいち一つ一つに設定しなくてもいいですよね!
こちらについてもアドバイス頂きありがとうございます。

一先ずのお礼とさせてください。