(57)【要約】【課題】操作対象画面同士が重なって隠れてしまっている領域も含めて画面ショットを撮影することができる画面ショット撮影装置、画面ショット撮影方法およびプログラムを提供することを課題とする。【解決手段】本実施形態では、操作対象プログラムの実行ＩＤを取得し、取得した実行ＩＤで特定される操作対象プログラムにより提供される全ての画面の画面ＩＤを取得し、取得した全ての画面ＩＤのそれぞれで特定される画面の画面ショットを撮影し、撮影された全ての画面ショットを、記憶部に保存する。【選択図】図６
2022001996.tif 000002
【特許請求の範囲】
【請求項１】
操作の対象とされるアプリケーションプログラムである対象プログラムにより提供される全ての画面の画面ショットを撮影する、制御部を備える画面ショット撮影装置であって、
前記制御部は、
操作実行中の対象プログラムの実行識別子を取得する実行識別子取得手段と、
前記実行識別子取得手段で取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子を取得する画面識別子取得手段と、
前記画面識別子取得手段で取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影する撮影手段と、
前記撮影手段で撮影された全ての画面ショットを、記憶部に保存する保存実行手段と、
を備えること、
を特徴とする画面ショット撮影装置。
【請求項２】
前記対象プログラムにより提供される画面は、複数であること、
を特徴とする請求項１に記載の画面ショット撮影装置。
【請求項３】
画面識別子と、縦スクロールまたは横スクロールの１つまたは複数のコントロール識別子および／またはページ移動のコントロール識別子とが紐付けて格納されているマスタデータにアクセス可能であり、
前記撮影手段は、前記画面識別子取得手段で取得した全ての画面識別子に対し、以下の（１）から（３）の処理を実行すること、
（１）マスタデータから、画面識別子に紐付くコントロール識別子を取得する：
（２）コントロール識別子が取得できなかった場合は、画面識別子で特定される画面の画面ショットを撮影する：
（３）コントロール識別子が取得できた場合は、（３１）各コントロール識別子からスクロールの情報またはページ移動の情報を取得し、（３２）当該取得した各情報に応じて、画面識別子で特定される画面におけるスクロールおよび／またはページ移動の状態を初期状態に設定して、画面ショットを撮影し、（３３）画面識別子で特定される画面に対し、当該取得した各情報に応じたスクロールおよび／またはページ移動の処理を実行しながら、当該処理が実行できなくなるまで、画面ショットを撮影する：
を特徴とする請求項１または２に記載の画面ショット撮影装置。
【請求項４】
前記撮影手段は、前記（３３）の処理において、スクロールの処理、ページ移動の処理の順に各処理を実行しながら、画面ショットを撮影すること、
を特徴とする請求項３に記載の画面ショット撮影装置。
【請求項５】
前記撮影手段は、前記（３３）の処理において、前記スクロールの処理を、縦スクロール、横スクロールの順に実行すること、
を特徴とする請求項４に記載の画面ショット撮影装置。
【請求項６】
前記スクロールの処理は、スクロールボックスの大きさを、スクロールボックスの移動の単位とするものであること、
を特徴とする請求項３から５のいずれか１つに記載の画面ショット撮影装置。
【請求項７】
前記保存実行手段は、画面ショット撮影時に保存したスクロールの情報および／またはページ移動の情報を基に、画面ショットを１つのシートに並べて保存すること、
を特徴とする請求項３から６のいずれか１つに記載の画面ショット撮影装置。
【請求項８】
前記撮影手段は、最下層の画面から順に画面ショットを撮影すること、
を特徴とする請求項１から７のいずれか１つに記載の画面ショット撮影装置。
【請求項９】
前記保存実行手段は、画面ショットに撮影順を示す番号を付与して画面ショットを保存すること、
を特徴とする請求項１から８のいずれか１つに記載の画面ショット撮影装置。
【請求項１０】
前記アプリケーションプログラムは、業務アプリケーションプログラムであること、
を特徴とする請求項１から９のいずれか１つに記載の画面ショット撮影装置。
【請求項１１】
前記操作は、ＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）ツールによる自動操作またはユーザによる画面ショットの撮影に関する操作であること、
を特徴とする請求項１から１０のいずれか１つに記載の画面ショット撮影装置。
【請求項１２】
前記実行識別子は、前記対象プログラムのプロセスであり、
前記画面識別子は、前記画面のウィンドウハンドルであり、
前記撮影手段は、撮影対象画面のウィンドウハンドルを指定して、画面ショットを、最下層の画面から順に撮影すること、
を特徴とする請求項１から１１のいずれか１つに記載の画面ショット撮影装置。
【請求項１３】
制御部を備える情報処理装置で実行される、操作の対象とされるアプリケーションプログラムである対象プログラムにより提供される全ての画面の画面ショットを撮影する画面ショット撮影方法であって、
前記制御部で実行される、
操作実行中の対象プログラムの実行識別子を取得するステップと、
前記取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子を取得するステップと、
前記取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影するステップと、
前記撮影された全ての画面ショットを、記憶部に保存するステップと、
を含むこと、
を特徴とする画面ショット撮影方法。
【請求項１４】
制御部を備える情報処理装置に実行させるための、操作の対象とされるアプリケーションプログラムである対象プログラムにより提供される全ての画面の画面ショットを撮影するプログラムであって、
前記制御部に実行させるための、
操作実行中の対象プログラムの実行識別子を取得するステップと、
前記取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子を取得するステップと、
前記取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影するステップと、
前記撮影された全ての画面ショットを、記憶部に保存するステップと、
を含むこと、
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面ショット撮影装置、画面ショット撮影方法およびプログラムに関する。
【背景技術】
【０００２】
ＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）ツールによる業務システム（アプリケーションプログラム）の自動操作が各企業に取り入れられるようになってきているなか、業務システムで提供される画面に対する自動操作の実行状況（換言すると、ＲＰＡツール実行中の様々な場面）を、エビデンス採取を目的として把握したいというニーズが高まっている。しかし、自動操作の実行スピードは速いため、実行状況を人が目視で確認するのは困難であり、しかも、確認する人が自動操作実行時に居なければならないというのでは、そもそもＲＰＡツールを取り入れたことの意義が形骸化される虞がある。また、実行状況が記述されたテキストログを人が見て確認することで実行状況を把握することは可能だが、テキストログだけでは人が直感的に実行状況を理解しづらい。そこで、人による直観的な実行状況の理解を支援するため、自動操作の対象とされる画面の画面ショットが撮影されている。
【０００３】
特許文献１には、スクリーンが所定距離スクロールするごとに、スクリーンショット参照領域の画像変化状況に基づきスクリーンショットを１回行い、複数回スクリーンショットした画像と初期スクリーンショット画像に基づき最終スクリーンショット画像を取得する端末のスクリーンショット方法について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１９−５３３２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これまでは、自動操作の対象とされる画面（操作対象画面）の画面ショットが、操作対象画面の状態を考慮せずに撮影されていた。そのため、アプリケーションプログラムが複数起動していた場合に、操作対象画面同士が重なり合った状態で画面ショットが撮影され、結果、隠れてしまった画面項目を確認することができない、という問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、操作対象画面同士が重なって隠れてしまっている領域も含めて画面ショットを撮影することができる画面ショット撮影装置、画面ショット撮影方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る画面ショット撮影装置は、操作の対象とされるアプリケーションプログラムである対象プログラムにより提供される全ての画面の画面ショットを撮影する、制御部を備える画面ショット撮影装置であって、前記制御部は、操作実行中の対象プログラムの実行識別子を取得する実行識別子取得手段と、前記実行識別子取得手段で取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子を取得する画面識別子取得手段と、前記画面識別子取得手段で取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影する撮影手段と、前記撮影手段で撮影された全ての画面ショットを、記憶部に保存する保存実行手段と、を備えること、を特徴とする。
【０００８】
また、本発明に係る画面ショット撮影装置において、前記対象プログラムにより提供される画面は、複数であること、を特徴とする。
【０００９】
また、本発明に係る画面ショット撮影装置は、画面識別子と、縦スクロールまたは横スクロールの１つまたは複数のコントロール識別子および／またはページ移動のコントロール識別子とが紐付けて格納されているマスタデータにアクセス可能であり、本発明に係る画面ショット撮影装置において、前記撮影手段は、前記画面識別子取得手段で取得した全ての画面識別子に対し、以下の（１）から（３）の処理を実行すること、を特徴とする。
（１）マスタデータから、画面識別子に紐付くコントロール識別子を取得する。
（２）コントロール識別子が取得できなかった場合は、画面識別子で特定される画面の画面ショットを撮影する。
（３）コントロール識別子が取得できた場合は、（３１）各コントロール識別子からスクロールの情報またはページ移動の情報を取得し、（３２）当該取得した各情報に応じて、画面識別子で特定される画面におけるスクロールおよび／またはページ移動の状態を初期状態に設定して、画面ショットを撮影し、（３３）画面識別子で特定される画面に対し、当該取得した各情報に応じたスクロールおよび／またはページ移動の処理を実行しながら、当該処理が実行できなくなるまで、画面ショットを撮影する。
【００１０】
また、本発明に係る画面ショット撮影装置において、前記撮影手段は、前記（３３）の処理において、スクロールの処理、ページ移動の処理の順に各処理を実行しながら、画面ショットを撮影すること、を特徴とする。
【００１１】
また、本発明に係る画面ショット撮影装置において、前記撮影手段は、前記（３３）の処理において、前記スクロールの処理を、縦スクロール、横スクロールの順に実行すること、を特徴とする。
【００１２】
また、本発明に係る画面ショット撮影装置において、前記スクロールの処理は、スクロールボックスの大きさを、スクロールボックスの移動の単位とするものであること、を特徴とする。
【００１３】
また、本発明に係る画面ショット撮影装置において、前記保存実行手段は、画面ショット撮影時に保存したスクロールの情報および／またはページ移動の情報を基に、画面ショットを１つのシートに並べて保存すること、を特徴とする。
【００１４】
また、本発明に係る画面ショット撮影装置において、前記撮影手段は、最下層の画面から順に画面ショットを撮影すること、を特徴とする。
【００１５】
また、本発明に係る画面ショット撮影装置において、前記保存実行手段は、画面ショットに撮影順を示す番号を付与して画面ショットを保存すること、を特徴とする。
【００１６】
また、本発明に係る画面ショット撮影装置において、前記アプリケーションプログラムは、業務アプリケーションプログラムであること、を特徴とする。
【００１７】
また、本発明に係る画面ショット撮影装置において、前記操作は、ＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）ツールによる自動操作またはユーザによる画面ショットの撮影に関する操作であること、を特徴とする。
【００１８】
また、本発明に係る画面ショット撮影装置において、前記実行識別子は、前記対象プログラムのプロセスであり、前記画面識別子は、前記画面のウィンドウハンドルであり、前記撮影手段は、撮影対象画面のウィンドウハンドルを指定して、画面ショットを、最下層の画面から順に撮影すること、を特徴とする。
【００１９】
また、本発明に係る画面ショット撮影方法は、制御部を備える情報処理装置で実行される、操作の対象とされるアプリケーションプログラムである対象プログラムにより提供される全ての画面の画面ショットを撮影する画面ショット撮影方法であって、前記制御部で実行される、操作実行中の対象プログラムの実行識別子を取得するステップと、前記取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子を取得するステップと、前記取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影するステップと、前記撮影された全ての画面ショットを、記憶部に保存するステップと、を含むこと、を特徴とする。
【００２０】
また、本発明に係るプログラムは、制御部を備える情報処理装置に実行させるための、操作の対象とされるアプリケーションプログラムである対象プログラムにより提供される全ての画面の画面ショットを撮影するプログラムであって、前記制御部に実行させるための、操作実行中の対象プログラムの実行識別子を取得するステップと、前記取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子を取得するステップと、前記取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影するステップと、前記撮影された全ての画面ショットを、記憶部に保存するステップと、を含むこと、を特徴とする。
【発明の効果】
【００２１】
本発明によれば、操作対象画面同士が重なって隠れてしまっている領域も含めて画面ショットを撮影することができる、という効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】図１は、操作対象画面の画面ショットを撮影する際に生じる課題の一例を示す図である。
【図２】図２は、自動操作対象に関連した画面のみを分割して全て撮影する仕組みを示す図である。
【図３】図３は、縦横スクロールを考慮して操作対象画面を全て撮影する仕組みを示す図である。
【図４】図４は、スクロールやページ移動を考慮して操作対象画面を全て撮影する仕組みを示す図である。
【図５】図５は、画面ショット撮影装置１００の構成の一例を示す図である。
【図６】図６は、自動操作対象に関連した画面のみを分割して全て撮影する際に画面ショット撮影装置１００で実行される画面ショット撮影処理に関するフローチャートの一例を示す図である。
【図７】図７は、自動操作対象に関連した画面のみを分割して全て撮影する際に、ＯＳがＷｉｎｄｏｗｓ１０（登録商標）の画面ショット撮影装置１００で実行される画面ショット撮影処理に関するフローチャートの一例を示す図である。
【図８】図８は、画面のスクロールやページ移動を考慮し、画面を分割して全て撮影する際に画面ショット撮影装置１００で実行される画面ショット撮影処理に関するフローチャートの一例を示す図である。
【図９】図９は、画面のスクロールやページ移動を考慮し、画面を分割して全て撮影する際の画面ショット保存イメージの一例を示す図である。
【発明を実施するための形態】
【００２３】
以下に、本発明に係る画面ショット撮影装置、画面ショット撮影方法およびプログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。
【００２４】
［１．概要］
ここでは、本実施形態の概要について、図１から図４等を参照して説明する。
【００２５】
ＲＰＡ実行中、画面ショットを撮影しておきたい様々な場面がある。この場面の一例として、「操作対象画面中の重要項目への入力後」（場面例１）、「操作対象画面中の全項目への入力後で確定処理直前」（場面例２）、「操作対象画面中の全項目への入力後で確定処理直後」（場面例３）、「操作対象画面の遷移後」（場面例４）および「エラーにより自動操作が停止する直前」（場面例５）などが挙げられる。なお、場面例１で画面ショットを撮影することの目的は、例えば、重要項目への値入力が誤っていないか確認することである。また、場面例２で画面ショットを撮影することの目的は、例えば、全ての入力情報が誤っていないか確認することである。また、場面例３で画面ショットを撮影することの目的は、例えば、確定処理が適切に行われたか確認することである。また、場面例４で画面ショットを撮影することの目的は、例えば、適切に画面が切り替わったか確認することである。また、場面例５で画面ショットを撮影することの目的は、例えば、動作が停止した原因を特定することである。
【００２６】
しかし、これまでは、操作対象画面の画面ショットが、操作対象画面の状態を考慮せずに撮影されていた。その結果、図１に示すように、例えば、「メッセージダイアログや他の画面が重なってしまい、確認したい入力項目が画面ショットから確認できない」といった課題（課題例１）や、「スクロールや画面内のページ移動により画面項目が隠れてしまうことがあり、確認したい入力項目が画面ショットから確認できない」といった課題（課題例２）が発生していた。つまり、確認したい画面項目を画面ショットから確認できないことがあった。図１は、操作対象画面の画面ショットを撮影する際に生じる課題の一例を示す図である。
【００２７】
そこで、図２に示すように、「操作対象画面とその関連画面のみを特定し、１枚ずつ分割して画面ショットを撮影する仕組み」を開発した。この仕組みでは、操作対象画面に関連しない画面は撮影されないので、余計な画面ショットが撮影されることはない。また、この仕組みでは、重なりが一番下の画面から順番に画面ショットを撮影するので、画面の前後関係も理解できる。図２は、自動操作対象に関連した画面のみを分割して全て撮影する仕組みを示す図である。
【００２８】
また、図３に示すように、前記仕組みをベースとした、「操作対象画面の縦横スクロールバーを認識して画面をスクロールさせながら、１枚ずつ分割して画面ショットを撮影する仕組み」も開発した。この仕組みでは、縦横スクロールを考慮して画面ショットを並び替えて表示するので、それぞれの画面ショットの位置関係が一目で理解できる。図３は、縦横スクロールを考慮して操作対象画面を分割して全て撮影する仕組みを示す図である。
【００２９】
さらに、図４に示すように、前記仕組みをベースとした、「操作対象画面のスクロールバーとページ移動ボタンを認識し、画面を自動で変えながら、１枚ずつ分割して画面ショットを撮影する仕組み」も開発した。この仕組みでは、スクロールとページ移動を考慮して画面ショットを並び替えて表示するので、項目情報が一目で理解できる。図４は、スクロールとページ移動を考慮して操作対象画面を分割して全て撮影する仕組みを示す図である。
【００３０】
［２．構成］
ここでは、本実施形態に係る画面ショット撮影装置１００の構成の一例について、図５等を参照して説明する。
【００３１】
図５は、画面ショット撮影装置１００の構成の一例を示すブロック図である。画面ショット撮影装置１００は、操作（例えばＲＰＡツールによる自動操作またはユーザによる画面ショットの撮影に関する操作など）の対象とされるアプリケーションプログラム（例えば業務アプリケーションプログラムなど）である対象プログラムにより提供される全ての画面（対象プログラムにより提供される画面は、単一でも複数でもよい。）の画面ショットを撮影するものであり、例えば、ＲＰＡツールによる自動操作の対象とされる業務アプリケーションプログラムおよびＲＰＡツールが導入されたものである。
【００３２】
画面ショット撮影装置１００は、市販のデスクトップ型パーソナルコンピュータである。なお、画面ショット撮影装置１００は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【００３３】
画面ショット撮影装置１００は、制御部１０２と通信インターフェース部１０４と記憶部１０６と入出力インターフェース部１０８と、を備えている。画面ショット撮影装置１００が備えている各部は、任意の通信路を介して通信可能に接続されている。
【００３４】
通信インターフェース部１０４は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、情報処理装置１００をネットワーク３００に通信可能に接続する。通信インターフェース部１０４は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク３００は、画面ショット撮影装置１００とサーバ２００とを相互に通信可能に接続する機能を有し、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。なお、記憶部１０６に格納されるデータは、例えばサーバ装置２００に格納されてもよい。
【００３５】
入出力インターフェース部１０８には、入力装置１１２および出力装置１１４が接続されている。出力装置１１４には、モニタ（家庭用テレビを含む）の他、スピーカやプリンタを用いることができる。入力装置１１２には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置１１４をモニタ１１４とし、入力装置１１２をキーボード１１２またはマウス１１２として記載する場合がある。
【００３６】
記憶部１０６には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部１０６には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部１０６として、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【００３７】
記憶部１０６には、例えば、マスタデータ１０６ａ、および、撮影された画面ショットが格納される画面ショット記憶部１０６ｂなどが含まれる。マスタデータ１０６ａには、画面識別子（例：画面ＩＤ）と、縦スクロールまたは横スクロールの１つまたは複数のコントロール識別子（例：コントロールＩＤ）および／またはページ移動のコントロール識別子（例：コントロールＩＤ）とが紐付けて格納されている。
【００３８】
図５に戻り、制御部１０２は、画面ショット撮影装置１００を統括的に制御するＣＰＵ等である。制御部１０２は、ＯＳ（例えばＷｉｎｄｏｗｓ（登録商標）、ｍａｃＯＳ（登録商標）、ＵＮＩＸ（登録商標）（Ｌｉｎｕｘ（登録商標）などを含む）、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標）など）等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【００３９】
制御部１０２は、機能概念的に、実行識別子取得部１０２ａ、画面識別子取得部１０２ｂ、撮影部１０２ｃおよび保存実行部１０２ｄなどを備える。
【００４０】
実行識別子取得部１０２ａは、操作実行中の対象プログラムの実行識別子（例：実行ＩＤ）を取得する。例えばＯＳがＷｉｎｄｏｗｓ１０（登録商標）の場合、実行識別子取得部１０２ａは、操作実行中の対象プログラムのプロセス（プログラムの実行を一意に特定できるＩＤ）を取得する。
【００４１】
画面識別子取得部１０２ｂは、実行識別子取得部１０２ａで取得した実行識別子で特定される対象プログラムにより提供される全ての画面の画面識別子（例：画面ＩＤ）を取得する。例えばＯＳがＷｉｎｄｏｗｓ１０（登録商標）の場合、画面識別子取得部１０２ｂは、実行識別子取得部１０２ａで取得したプロセスで特定される対象プログラムにより提供される全ての画面のウィンドウハンドル（画面やコントロールを認識するための、画面を一意に特定できるＩＤ）を取得する。
【００４２】
撮影部１０２ｃは、画面識別子取得部１０２ｂで取得した全ての画面識別子のそれぞれで特定される画面の画面ショットを撮影する。なお、撮影部１０２ｃは、最下層の画面から順に画面ショットを撮影してもよい。例えばＯＳがＷｉｎｄｏｗｓ１０（登録商標）の場合、撮影対象画面のウィンドウハンドルを指定して、画面ショットを、最下層の画面から順に撮影する。
【００４３】
また、撮影部１０２ｃは、画面識別子取得部１０２ｂで取得した全ての画面識別子に対し、以下の（１）から（３）の処理を実行してもよい。
（１）マスタデータ１０６ａから、画面識別子に紐付くコントロール識別子（例：コントロールＩＤ）を取得する。
（２）コントロール識別子が取得できなかった場合は、画面識別子で特定される画面の画面ショットを撮影する。
（３）コントロール識別子が取得できた場合は、（３１）各コントロール識別子からスクロールの情報またはページ移動の情報を取得し、（３２）当該取得した各情報に応じて、画面識別子で特定される画面におけるスクロールおよび／またはページ移動の状態を初期状態に設定して、画面ショットを撮影し、（３３）画面識別子で特定される画面に対し、当該取得した各情報に応じたスクロールおよび／またはページ移動の処理を実行しながら、当該処理が実行できなくなるまで、画面ショットを撮影する。
【００４４】
また、撮影部１０２ｃは、（３３）の処理において、スクロールの処理、ページ移動の処理の順に各処理を実行しながら、画面ショットを撮影してもよい。また、撮影部１０２ｃは、（３３）の処理において、スクロールの処理を、縦スクロール、横スクロールの順に実行してもよい。また、スクロールの処理は、スクロールボックスの大きさを、スクロールボックスの移動の単位とするものでもよい。
【００４５】
保存実行部１０２ｄは、撮影部１０２ｃで撮影された全ての画面ショットを、画面ショット記憶部１０６ｂに保存する。
【００４６】
なお、保存実行部１０２ｄは、画面ショットに撮影順を示す番号を付与して画面ショットを保存してもよい。
【００４７】
また、保存実行部１０２ｄは、画面ショット撮影時に保存したスクロールの情報および／またはページ移動の情報を基に、画面ショットを１つのシートに並べて保存してもよい。
【００４８】
［３．処理の具体例］
ここでは、画面ショット撮影装置１００で実行される処理の具体例について、図６から図９等を参照して説明する。
【００４９】
［３−１．具体例その１］
図６は、自動操作対象に関連した画面のみを分割して全て撮影する際に画面ショット撮影装置１００で実行される画面ショット撮影処理に関するフローチャートの一例を示す図である。
【００５０】
まず、実行識別子取得部１０２ａは、操作対象プログラムの実行ＩＤを取得する（ステップＳＡ１）。
【００５１】
つぎに、画面識別子取得部１０２ｂは、ステップＳＡ１で取得した実行ＩＤで特定されるプログラムの画面ＩＤを全て取得する（ステップＳＡ２）。
【００５２】
つぎに、撮影部１０２ｃは、ステップＳＡ２で取得した全ての画面ＩＤを基に、画面ＩＤの昇順に、画面ＩＤで特定される画面の画面ショットを撮影する（ステップＳＡ３）。
【００５３】
つぎに、保存実行部１０２ｄは、ステップＳＡ３で撮影された全ての画面ショットのファイル名に撮影順を付与し、当該付与後の画面ショットを画面ショット記憶部１０６ｂに保存する（ステップＳＡ４）。
【００５４】
［３−２．具体例その２］
図７は、自動操作対象に関連した画面のみを分割して全て撮影する際に、ＯＳがＷｉｎｄｏｗｓ１０（登録商標）の画面ショット撮影装置１００で実行される画面ショット撮影処理に関するフローチャートの一例を示す図である。
【００５５】
まず、実行識別子取得部１０２ａは、操作対象プログラムのプロセスを取得する（ステップＳＢ１）。
【００５６】
つぎに、画面識別子取得部１０２ｂは、ステップＳＢ１で取得したプロセスで特定されるプログラムの操作対象画面のウィンドウハンドルを全て取得する（ステップＳＢ２）。
【００５７】
つぎに、撮影部１０２ｃは、ステップＳＢ２で取得したウィンドウハンドルの内、撮影対象画面のウィンドウハンドルを指定する（ステップＳＢ３）。
【００５８】
つぎに、撮影部１０２ｃは、ステップＳＢ３で指定したウィンドウハンドルを基に、最下層から順番に撮影対象画面の画面ショットを撮影する（ステップＳＢ４）。
【００５９】
つぎに、保存実行部１０２ｄは、ステップＳＢ４で撮影された全ての画面ショットのファイル名に撮影順を付与し、当該付与後の画面ショットを画面ショット記憶部１０６ｂに保存する（ステップＳＢ５）。
【００６０】
［３−３．具体例その３］
図８は、画面のスクロールやページ移動を考慮し、画面を分割して全て撮影する際に画面ショット撮影装置１００で実行される画面ショット撮影処理に関するフローチャートの一例を示す図である。なお、このフローチャートは、図６に示すフローチャートのステップＳＡ３の具体例であるため、図６に示すステップＳＡ１とステップＳＡ２に相当する処理については、説明を省略する。
【００６１】
まず、撮影部１０２ｃは、マスタデータ１０６ａから、取得した画面ＩＤに紐付くコントロールＩＤを取得する（ステップＳＣ１）。
【００６２】
つぎに、撮影部１０２ｃは、ステップＳＣ１で取得したコントロールＩＤから、操作対象画面のスクロールおよびページ移動の情報を取得する（ステップＳＣ２）。
【００６３】
つぎに、撮影部１０２ｃは、スクロールおよびページ移動を初期位置へ移動し、移動後の画面ショットを撮影する（ステップＳＣ３）。
【００６４】
つぎに、撮影部１０２ｃは、操作対象画面に対しページ移動が可能かどうか判定する（ステップＳＣ４）。
【００６５】
つぎに、撮影部１０２ｃは、ページ移動が可能であれば、操作対象画面に対し横スクロールが可能かどうか判定する（ステップＳＣ５）。具体的には、撮影部１０２ｃは、スクロールエリアの大きさとスクロールボックスの大きさから、横スクロールが可能かどうか判定する。
【００６６】
つぎに、撮影部１０２ｃは、横スクロールが可能であれば、操作対象画面に対し縦スクロールが可能かどうか判定する（ステップＳＣ６）。具体的には、撮影部１０２ｃは、スクロールエリアの大きさとスクロールボックスの大きさから、縦スクロールが可能かどうか判定する。
【００６７】
つぎに、撮影部１０２ｃは、縦スクロールが可能であれば、縦スクロール処理を実行し、操作対象画面の画面ショットを撮影する（ステップＳＣ７）。具体的には、撮影部１０２ｃは、縦スクロールボックスの大きさ分、スクロール位置を移動させ、操作対象画面の画面ショットを撮影する。撮影後、処理は、ステップＳＣ６に戻る。
【００６８】
ステップＳＣ６とステップＳＣ７は、縦スクロールができなくなるまで、繰り返される。具体的には、縦スクロールボックスのスクロール位置が最終位置に移動するまで、繰り返される。これにより、ページと横スクロールを固定して縦スクロールだけ実行しながら撮影した画面ショット（具体的には、図９に示す（０，０，ｚ）に対応する各画面ショット（ｚ＝０，１，・・・））が得られる。
【００６９】
つぎに、撮影部１０２ｃは、横スクロール処理を実行し、操作対象画面の画面ショットを撮影する（ステップＳＣ８）。具体的には、撮影部１０２ｃは、横スクロールボックスの大きさ分、スクロール位置を移動させ、操作対象画面の画面ショットを撮影する。撮影後、処理は、ステップＳＣ５に戻る。
【００７０】
ステップＳＣ５からステップＳＣ８は、横スクロールができなくなるまで、繰り返される。具体的には、横スクロールボックスのスクロール位置が最終位置に移動するまで、繰り返される。これにより、ページを固定して横スクロールもさらに実行しながら撮影した画面ショットが得られる（具体的には、図９に示す（０，ｙ，ｚ）に対応する各画面ショット（ｙ＝０，１，２，・・・；ｚ＝０，１，・・・））。また、ステップＳＣ５からステップＳＣ８は、スクロールバーの数だけ、行われる。
【００７１】
つぎに、撮影部１０２ｃは、ページ移動処理を実行し、操作対象画面の画面ショットを撮影する（ステップＳＣ９）。具体的には、撮影部１０２ｃは、ページを１ページだけ移動させ、操作対象画面の画面ショットを撮影する。撮影後、処理は、ステップＳＣ４に戻る。
【００７２】
ステップＳＣ４からステップＳＣ９は、ページ移動ができなくなるまで、繰り返される。具体的には、ページが最終ページに移動するまで、繰り返される。これにより、ページ移動もさらに実行しながら撮影した画面ショット（具体的には、図９に示す（ｘ，ｙ，ｚ）に対応する各画面ショット（ｘ＝０，１，・・・；ｙ＝０，１，２，・・・；ｚ＝０，１，・・・）が得られる。
【００７３】
そして、保存実行部１０２ｄは、画面ショット撮影時に保存したスクロールとページ移動の情報を基に、図９に示すように、画面ショットを１つのシートに並べる。なお、ページ移動と横スクロールを適用させた場合は、保存実行部１０２ｄは、図９に示すように、画面ショットを横方向に順番に並べる。また、縦スクロールを適用させた場合は、保存実行部１０２ｄは、図９に示すように、画面ショットを縦方向に順番に並べる。そして、保存実行部１０２ｄは、このシートを画面ショット記憶部１０６ｂに保存する。図９は、画面のスクロールやページ移動を考慮し、画面を分割して全て撮影する際の画面ショット保存イメージの一例を示す図である。
【００７４】
［４．本実施形態のまとめ］
以上、本実施形態によれば、画面ショットを撮影するときに、本来隠れてしまっている領域を含め撮影することができる。具体的には、他の画面が重なって隠れてしまっている項目を撮影することができたり、スクロールの表示領域外の項目を撮影することができたりする。これにより、画面上の全ての項目を把握することができ、画面ショットが自動操作結果の記録としてより意味のあるものになった。また、画面ショットによってエラー発生の原因調査の効率化ができるようになった。
【００７５】
これまで、ＲＰＡ操作中の画面ショットを撮ることで自動操作状況を把握したいが、通常の画面ショットでは全ての項目を写すことができない場合があり、確認したい項目を確認できないことがあった。ところが、本実施形態によれば、自動操作対象に関連した項目を漏れなく全て撮ることができるため、画面ショットから確認したい項目を確実に確認できるようになった。また、本実施形態によれば、ＲＰＡ操作時だけでなく、ユーザがアプリケーションの画面撮影を行う際にも活用できるため、漏れなく画面項目を撮ることができる。
【００７６】
［５．他の実施形態］
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【００７７】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【００７８】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【００７９】
また、画面ショット撮影装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【００８０】
例えば、画面ショット撮影装置１００が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵおよび当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて画面ショット撮影装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部などには、ＯＳと協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【００８１】
また、このコンピュータプログラムは、画面ショット撮影装置１００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【００８２】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【００８３】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【００８４】
記憶部に格納される各種のデータベース等は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、及び、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、及び、ウェブページ用ファイル等を格納する。
【００８５】
また、画面ショット撮影装置１００は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、画面ショット撮影装置１００は、当該装置に本実施形態で説明した処理を実現させるソフトウェア（プログラムまたはデータ等を含む）を実装することにより実現してもよい。
【００８６】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【００８７】
本発明は、特に、ＲＰＡツールによる業務システムの自動操作を取り入れている企業において有用である。
【符号の説明】
【００８８】
１００  画面ショット撮影装置
１０２  制御部
１０２ａ  実行識別子取得部
１０２ｂ  画面識別子取得部
１０２ｃ  撮影部
１０２ｄ  保存実行部
１０４  通信インターフェース部
１０６  記憶部
１０６ａ  マスタデータ
１０６ｂ  画面ショット記憶部
１０８  入出力インターフェース部
１１２  入力装置
１１４  出力装置
２００  サーバ
３００  ネットワーク
【図１】
2022001996.tif 000003
【図２】
2022001996.tif 000004
【図３】
2022001996.tif 000005
【図４】
2022001996.tif 000006
【図５】
2022001996.tif 000007
【図６】
2022001996.tif 000008
【図７】
2022001996.tif 000009
【図８】
2022001996.tif 000010
【図９】
2022001996.tif 000011