アプリ/Webのボタンやリストなどをクリックするためには、ボタンが画面に表示されていないと操作できない場合があります。
このような時、操作する前に画面を最大化しておくと処理がスムーズになります。
或いは別の用途で、他の画面を操作するために、最小化しておきたいこともあるでしょう。
そのために、ウィンドウ操作系のアクティビティが必要になります。
この記事では、以下のアクティビティについて解説します。
ウィンドウ操作のアクティビティ
- アクティブウィンドウを取得
- ウィンドウを移動
- ウィンドウを最小化
ウィンドウを隠す(廃止)- ウィンドウを最大化
- ウィンドウを復元
もくじ
アクティブウィンドウを取得
現在のアクティブウィンドウを取得し、このウィンドウに対して複数のアクションを実行できるようにします。(ガイドはこちら)
デスクトップに表示されているアプリ/Webで、一番前面にある画面を操作対象とします。
このアクティビティは少し独特で、リソースに近いような使い方をします。
取得したウィンドウで出来ること
アクティビティが取得したウィンドウで出来る操作は、そう多くありません。
というより、この記事に掲載しているアクティビティが、出来る操作の全てですね。
他のアクティビティを試しましたが、操作できるものは見つかりませんでした。
エラー発生時に実行を継続
チェックON(True)にすると、ウィンドウの取得に失敗しても、処理を継続します。
アプリケーションウィンドウ
対象となったアプリ/Webについて、名前を付けて記憶します。
基本的には下図のように、[アクティブウィンドウを取得]アクションの内側にアクティビティを追加することが多いはずです。
しかし、場合によっては、アクティブウィンドウを取得したタイミングとアクションを実行したいタイミングが離れていることがあります。
そんなとき、内側にアクティビティに追加すると、逆にワークフローが煩雑になり、読みづらくなってしまいます。
こんな時は、名前(アプリケーションウィンドウ)を指定することで可能に。
例えば以下のように、ウィンドウの取得と、ウィンドウを最大化するアクションとの間に、別のウィンドウを前面にしてみると分かりますね。
(メッセージボックスの[OK]をクリックする前に、別のアプリBをクリックします。)
ちゃんと、最初のアクティビティで取得したウィンドウ(アプリA)が最大表示されます。
ウィンドウを移動
指定したウィンドウの位置とサイズを変更します。(ガイドはこちら)
アプリ/Webリソースで指定したもの、または、[アクティブウィンドウを取得]アクションで指定したものが操作対象となります。
ここでは、以下の項目について解説します。
- [X]と[Y]、[幅]と[高さ]
- ウィンドウ
- [エラー発生時に実行を継続]
[X]と[Y]、[幅]と[高さ]
ウィンドウのサイズや位置を指定します。
4つの値は、それぞれ以下の値を示しています。
- [幅]…ウィンドウの幅
- [高さ]…ウィンドウの高さ
- [X]…画面左端からウィンドウまでの距離
- [Y]…画面上端からウィンドウまでの距離
4つの値の関係を表すと、以下のようになります。
デスクトップ画面のサイズを確認
位置やサイズを指定する時、画面の高さや幅を把握しておくと便利です。
そこで、[Write Line]アクションを使って、サイズを確認してみましょう。
手順はこちら。
①[Write Line]アクションを、デザイナーパネルに追加。
②[+]-[詳細エディターを開く]をクリック。
③幅の場合は、"System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width.ToString"を入力して[OK]。
④高さの場合は、"System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height.ToString"を入力して[OK]。
ウィンドウ
[アクティブウィンドウを取得]アクションで記憶した名前を指定します。
なお、[アクティブウィンドウを取得]の内側に[ウィンドウを移動]アクションを追加した場合、指定する必要はありません。
エラー発生時に実行を継続
チェックON(True)にすると、エラーが発生しても、処理を継続します。
未設定の場合もチェックOFFと同様の処理になります。
ウィンドウを最小化
指定したウィンドウを最小化します。(ガイドはこちら)
アプリ/Webリソースで指定した画面、または、[アクティブウィンドウを取得]アクションで指定した画面が操作対象となります。
ここでは、[ウィンドウ]と[エラー発生時に実行を継続]について解説します。
ウィンドウ
[アクティブウィンドウを取得]アクションで記憶した名前を指定します。
なお、[アクティブウィンドウを取得]の内側に[ウィンドウを最小化]アクションを追加した場合、指定する必要はありません。
エラー発生時に実行を継続
チェックON(True)にすると、エラーが発生しても、処理を継続します。
未設定の場合もチェックOFFと同様の処理になります。
ウィンドウを隠す(廃止)
指定したウィンドウを隠します。これによりウィンドウは完全に見えなくなります。(ガイドはこちら)
※最新バージョンでは廃止しているアクティビティです。
アプリ/Webリソースで指定した画面、または、[アクティブウィンドウを取得]アクションで指定した画面が操作対象となります。
ここでは、[ウィンドウ]と[エラー発生時に実行を継続]について解説します。
このアクションの動作(最小化との違い)
[最小化]では、タスクバーにアイコンが表示されますが、[隠す]の場合、タスクバーにアイコンが表示されません。
表示はされていませんが、実際には、プログラムは実行している状態となっています。
また、[ウィンドウを隠す]アクションで非表示にした後、手動で画面を再表示することは出来ません。
画面に再表示するには、[ウィンドウを復元]アクションを実行して再表示する必要があります。
※アプリケーションの中には、タスクバーのアイコンを非表示に出来ないものがあります。
[ウィンドウを隠す]の動作
- タスクバーにアイコンが表示されない。(一部表示されるアプリもある)
- プロブラムはバックグラウンドで実行中。
- 非表示後、手動で画面を再表示できない。
- [ウィンドウを復元]で再表示する。
Excelの場合、[ウィンドウを隠す]の後、[ウィンドウを最大化]を使うと、下図のようにリボンやメニューバーが表示されないなど、画面がおかしくなるので注意が必要です。

ウィンドウ
[アクティブウィンドウを取得]アクションで記憶した名前を指定します。
なお、[アクティブウィンドウを取得]の内側に[ウィンドウを隠す]アクションを追加した場合、指定する必要はありません。
エラー発生時に実行を継続
チェックON(True)にすると、エラーが発生しても、処理を継続します。
未設定の場合もチェックOFFと同様の処理になります。
ウィンドウを最大化
指定したウィンドウを最大化します。(ガイドはこちら)
アプリ/Webリソースで指定した画面、または、[アクティブウィンドウを取得]アクションで指定した画面が操作対象となります。
ここでは、[ウィンドウ]と[エラー発生時に実行を継続]について解説します。
ウィンドウ
[アクティブウィンドウを取得]アクションで記憶した名前を指定します。
なお、[アクティブウィンドウを取得]の内側に[ウィンドウを最大化]アクションを追加した場合、指定する必要はありません。
エラー発生時に実行を継続
チェックON(True)にすると、エラーが発生しても、処理を継続します。
未設定の場合もチェックOFFと同様の処理になります。
ウィンドウを復元
指定したウィンドウを元のサイズと位置に戻します。(ガイドはこちら)
アプリ/Webリソースで指定した画面、または、[アクティブウィンドウを取得]アクションで指定した画面が操作対象となります。
[ウィンドウを復元]アクションは、自動化処理の最後の方に配置することが多いでしょう。
ここでは、[ウィンドウ]と[エラー発生時に実行を継続]について解説します。
ウィンドウ
[アクティブウィンドウを取得]アクションで記憶した名前を指定します。
なお、[アクティブウィンドウを取得]の内側に[ウィンドウを復元]アクションを追加した場合、指定する必要はありません。
エラー発生時に実行を継続
チェックON(True)にすると、エラーが発生しても、処理を継続します。
未設定の場合もチェックOFFと同様の処理になります。
まとめ
アプリ/Webの操作が反応しない場合に、画面を最大化/最小化したり、隠したりすると上手くいく場合があります。
RPA自動化を安定して動かすための、試行錯誤する策のひとつとして覚えておくといいでしょう。
まとめます。
まとめ
- ウィンドウ操作の対象として指定するアクティビティは、アプリ/Webリソース、または、[アクティブウィンドウを取得]の2通り。
- [ウィンドウを隠す]では、タスクバーのアイコンが表示されない。
- 処理の最後は、[ウィンドウを復元]を追加しておくことをお勧め。
この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。