(57)【要約】【課題】部分的に異なるがほぼ同様の操作を繰り返し実施するためのデータをより簡単に且つ適切に生成する。【解決手段】本操作記録方法は、操作記録開始の指示に応じて所定のキー以外のキー入力を禁止し、クリックに応じて当該クリックの操作を再現させるためのスクリプトデータを生成し、テキスト入力用キーの押下又はテキスト入力用ボタンのクリックに応じてテキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、定義参照入力キーの押下又は定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力等を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力等された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成する。【選択図】図１
2011204139.tif 000002
【特許請求の範囲】
【請求項１】
操作記録開始の指示に応じて又は起動後に、所定のキー以外のキー入力を禁止するステップと、
クリックに応じて、当該クリックの操作を再現させるためのスクリプトデータを生成し、データ格納部に格納するステップと、
前記所定のキーに含まれるテキスト入力用キーの押下又は別途用意されているテキスト入力用ボタンのクリックに応じて、テキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、前記データ格納部に格納するステップと、
前記所定のキーに含まれる定義参照入力キーの押下又は別途用意されている定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力又は選択を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力又は選択された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成し、前記データ格納部に格納する定義参照スクリプト生成ステップと、
操作記録終了後に、前記データ格納部に格納されている前記スクリプトデータを含むファイルを出力するステップと、
を、コンピュータに実行させるための操作記録プログラム。
【請求項２】
前記定義参照スクリプト生成ステップが、
特定の文字列及び当該特定の文字列に対応付けられている値の入力に応じて、前記定義ファイルに、前記特定の文字列及び当該特定の文字列に対応付けられている値を格納するステップ
を含む請求項１記載の操作記録プログラム。
【請求項３】
操作記録開始の指示に応じて又は起動後に、所定のキー以外のキー入力を禁止する手段と、
クリックに応じて、当該クリックの操作を再現させるためのスクリプトデータを生成し、データ格納部に格納する手段と、
前記所定のキーに含まれるテキスト入力用キーの押下又は別途用意されているテキスト入力用ボタンのクリックに応じて、テキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、前記データ格納部に格納する手段と、
前記所定のキーに含まれる定義参照入力キーの押下又は別途用意されている定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力又は選択を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力又は選択された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成し、前記データ格納部に格納する定義参照スクリプト生成手段と、
操作記録終了後に、前記データ格納部に格納されている前記スクリプトデータを含むファイルを出力する手段と、
を有する操作記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの操作記録を行うための技術に関する。
【背景技術】
【０００２】
例えば、特開２００７−４７３４号公報には、ユーザが過去に実行した操作を再現したり、過去のある時点から実施した一連の操作を繰り返し実行したりするための技術が開示されている。具体的には、本情報処理装置は、操作履歴を時間系列順に自動記録する機能と、時間系列上でユーザが指定した箇所へ遡って操作の自動再現・記憶する機能を有する。そして、操作履歴の内容を、ユーザがアプリケーション上から実施できる操作を機能毎に分類する。この機能分類では、再現時に内容変更をユーザに許可するものとしないものに分け、変更を許可するものは、再現時にユーザの必要に応じて変更して再生するものである。しかしながら、異なる情報処理装置で、一部分だけ変更しつつ同様の操作を繰り返し実施するような場合を想定した工夫は見えない。
【０００３】
また、特開２００４−７８２６８号公報には、同一あるいは類似した操作手順を繰り返すことが要求されるシステムにおいて、操作上のミスを防止し、操作に必要な手間や時間を削減するための技術が開示されている。具体的には、スクリプトファイルと、スクリプトファイルに対するパラメータの値を定義する設定ファイルと、スクリプトファイルおよび設定ファイルを読み出し、スクリプトに指定された処理を実行するスクリプトエンジンとを用意する。そして、スクリプトファイルには、スクリプトが格納され、スクリプトは、スクリプトエンジンにより解析される指令とスクリプトの解釈を制御する制御情報とを含む情報の集合である。設定ファイルは、スクリプトによって使用されるパラメータの値を定義したファイルである。スクリプトが変更できない固定の情報であるのに対して、設定ファイルの情報は変更可能な情報である。スクリプトエンジンは、スクリプトファイル及び設定ファイルに従って、スクリプトエンジン以外のプログラムを制御する。しかしながら、スクリプトファイル及び設定ファイルをどのように生成するかについては考察されていない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−４７３４号公報
【特許文献２】特開２００４−７８２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上のように、異なるコンピュータにおいて、部分的に異なるがほぼ同様の操作を繰り返し実施するような場合、例えば、同一企業の複数のサーバのネットワーク設定を行うような場合に、より簡単に且つ適切に、使用するデータを生成する方法は開示されていない。
【０００６】
従って、本発明の目的は、異なるコンピュータにおいて、部分的に異なるがほぼ同様の操作を繰り返し実施するためのデータを、より簡単に且つ適切に生成するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一側面に係る操作記録プログラムは、コンピュータに、（Ａ）操作記録開始の指示に応じて又は起動後に、所定のキー以外のキー入力を禁止するステップと、（Ｂ）クリックに応じて、当該クリックの操作を再現させるためのスクリプトデータを生成し、データ格納部に格納するステップと、（Ｃ）所定のキーに含まれるテキスト入力用キーの押下又は別途用意されているテキスト入力用ボタンのクリックに応じて、テキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、データ格納部に格納するステップと、（Ｄ）所定のキーに含まれる定義参照入力キーの押下又は別途用意されている定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力又は選択を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力又は選択された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成し、データ格納部に格納する定義参照スクリプト生成ステップと、（Ｅ）操作記録終了後に、データ格納部に格納されているスクリプトデータを含むファイルを出力するステップとをコンピュータに実行させるものである。
【０００８】
このように、ユーザに対して操作記録中キー入力について特別に意識させた上で、装置毎に異なるキー入力部分については、定義ファイルを用いて入力を行うようなスクリプトデータを生成するようにしている。このようにすれば、クリックするだけの部分はユーザにとって簡単にスクリプトデータが生成されると共に、キー入力については通常のキー入力と装置毎に異なるキー入力部分とを分離しつつ、適切にスクリプトデータを生成することができるようになる。
【０００９】
なお、上で述べた定義参照スクリプト生成ステップが、特定の文字列及び当該特定の文字列に対応付けられている値の入力に応じて、定義ファイルに、特定の文字列及び当該特定の文字列に対応付けられている値を格納するステップを含むようにしてもよい。
【００１０】
このように、定義ファイルを生成しつつ、スクリプトデータを生成するようにしても良い。定義ファイルについては、ユーザがエディットして、スクリプトデータを含むファイルを実行させる装置毎にカスタマイズするようにしても良い。
【００１１】
なお、上で述べたようなプログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１２】
本発明によれば、異なるコンピュータにおいて、部分的に異なるがほぼ同様の操作を繰り返し実施するためのデータを、より簡単に且つ適切に生成できるようになる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態におけるシステム概要図である。
【図２】図２は、操作記録プログラムのウィンドウ例を示す図である。
【図３】図３は、実施の形態におけるメイン処理フローを示す図である。
【図４】図４は、操作記録プログラムのウィンドウ例を示す図である。
【図５】図５は、キー入力関連処理の処理フローを示す図である。
【図６】図６は、プログラム起動処理の処理フローを示す図である。
【図７】図７は、操作対象のウィンドウ例を示す図である。
【図８】図８は、スクリプトデータの一例を示す図である。
【図９】図９は、クリック処理の処理フローを示す図である。
【図１０】図１０は、スクリプトデータの一例を示す図である。
【図１１】図１１は、クラスとスクリプトとの対応関係を表す図である。
【図１２】図１２は、クラスとスクリプトとの対応関係を表す図である。
【図１３】図１３は、操作対象のウィンドウに対する操作例を示す図である。
【図１４】図１４は、スクリプトデータの一例を示す図である。
【図１５】図１５は、操作対象のウィンドウに対する操作例を示す図である。
【図１６】図１６は、スクリプトデータの一例を示す図である。
【図１７】図１７は、操作対象のウィンドウに対する操作例を示す図である。
【図１８】図１８は、スクリプトデータの一例を示す図である。
【図１９】図１９は、操作対象のウィンドウに対する操作例を示す図である。
【図２０】図２０は、スクリプトデータの一例を示す図である。
【図２１】図２１は、操作対象のウィンドウに対する操作例を示す図である。
【図２２】図２２は、スクリプトデータの一例を示す図である。
【図２３】図２３は、操作対象のウィンドウに対する操作例を示す図である。
【図２４】図２４は、スクリプトデータの一例を示す図である。
【図２５】図２５は、操作対象のウィンドウに対する操作例を示す図である。
【図２６】図２６は、スクリプトデータの一例を示す図である。
【図２７】図２７は、操作対象のウィンドウに対する操作例を示す図である。
【図２８】図２８は、スクリプトデータの一例を示す図である。
【図２９】図２９は、操作対象のウィンドウに対する操作例を示す図である。
【図３０】図３０は、スクリプトデータの一例を示す図である。
【図３１】図３１は、操作対象のウィンドウに対する操作例を示す図である。
【図３２】図３２は、スクリプトデータの一例を示す図である。
【図３３】図３３は、操作対象のウィンドウに対する操作例を示す図である。
【図３４】図３４は、スクリプトデータの一例を示す図である。
【図３５】図３５は、テキスト入力ウィンドウの一例を示す図である。
【図３６】図３６は、スクリプトデータの一例を示す図である。
【図３７Ａ】図３７Ａは、操作対象のウィンドウに対する操作例を示す図である。
【図３７Ｂ】図３７Ｂは、定義名及び定義値の入力ウィンドウを示す図である。
【図３８】図３８は、定義ファイルの一例を示す図である。
【図３９】図３９は、定義名及び定義値選択ウィンドウの一例を示す図である。
【図４０】図４０は、スクリプトデータの一例を示す図である。
【図４１】図４１は、操作対象のウィンドウに対する操作例を示す図である。
【図４２】図４２は、操作対象のウィンドウに対する操作例を示す図である。
【図４３】図４３は、スクリプトデータの一例を示す図である。
【図４４】図４４は、制御入力処理の処理フローを示す図である。
【図４５】図４５は、記録停止後のウィンドウ構成例を示す図である。
【図４６】図４６は、定義ファイルの他の例を示す図である。
【図４７】図４７は、スクリプトファイル及び定義ファイルを使用する際の機能ブロック図である。
【図４８】図４８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１４】
図１に、本発明の一実施の形態に係るシステムの概要を示す。操作記録を行う対象のコンピュータ３には、液晶表示装置やＣＲＴ（Cathode Ray Tube）ディスプレイなどの表示装置１と、キーボード５と、マウス７とが接続されている。なお、ＬＡＮ（Local Area Network）などに接続している場合もあるが、以下の説明にはあまり関係のないため、説明を省略する。
【００１５】
コンピュータ３は、オペレーティングシステム（ＯＳ：Operating System）や業務アプリケーション・プログラムなどを含む各種プログラム（以下、一般プログラム３９と呼ぶ）及び本実施の形態に係る操作記録プログラム３１がインストールされており、必要に応じて実行される。また、コンピュータ３は、ハードディスクドライブなどのデータ格納部３３を有しており、一般プログラム３９及び操作記録プログラム３１のデータを格納すると共に、操作記録プログラム３１が生成するスクリプトファイル３３１及び定義ファイル３３３とが格納される。
【００１６】
本実施の形態に係る操作記録プログラム３１は、コンピュータ３に、クリック処理部３１１と、テキスト入力処理部３１２と、定義参照処理部３１３と、キー入力制限部３１４と、拡張機能処理部３１５とを実現させるものである。
【００１７】
次に、図２乃至図４７を用いて操作記録プログラム３１による処理内容について説明する。まず、ユーザは、操作記録プログラム３１の起動をコンピュータ３に指示する。操作記録プログラム３１は、起動すると、例えばスクリプトファイル３３１の保存先ディレクトリ及びファイル名の指定をユーザに促す。操作記録プログラム３１は、ユーザからスクリプトファイル３３１の保存先ディレクトリ及びファイル名の指定を受け付け、指定の保存先ディレクトリにおいて指定のファイル名のスクリプトファイル３３１をデータ格納部３３にオープンしておく。そして、表示装置１に例えば図２に示すようなウィンドウを表示する。図２の例では、記録開始ボタンと、スクリプト生成ボタンと、設定ボタンとが含まれる。スクリプト生成ボタンは、操作記録が完了しないとクリックできないようになっている。設定ボタンは各種設定を行うためのボタンであり、本実施の形態にはあまり関係しないので、詳細な説明は省略する。ここで、ユーザは、記録開始ボタンをクリックするものとする。
【００１８】
そうすると、操作記録プログラム３１は、ユーザから記録開始の指示を受け付け（図３：ステップＳ１）、例えば図４に示すようなウィンドウを表示装置１に表示する。図２に示した記録開始ボタンをクリックしたので、記録開始ボタンは記録停止ボタンに変更される。スクリプト生成ボタン及び設定ボタンについては変化しない。そして、記録開始の指示に応じて、テキスト入力ボタンと、仮想キー入力ボタンと、定義選択ボタンと、プログラム起動ボタンと、部分画像採取ボタンと、スナップショットボタンと、リブートボタンと、ＴＡＧボタンと、対象ウィンドウ指定ボタンと、コメント入力ボタンと、ｅｃｈｏ入力ボタンと、ｌｏｇ入力ボタンと、フリー入力ボタンと、Sleep入力ボタンと、最大化ボタンとが表示される。部分画像採取ボタン以下のボタンについては、本実施の形態の主旨とは関係しないので、説明を省略する。また、仮想キー入力ボタンについては、Ａｌｔ、Ｃｔｒｌ、Ｓｈｉｆｔ、カーソル移動といった特別なキーの入力を行うためのボタンである。この仮想キー入力ボタンについても、本実施の形態の主旨とはあまり関係しないのでこれ以上説明しない。
【００１９】
なお、各ボタンの左側に示されている記号は、ホットキーの表示であって、ボタンをクリックするのではなく、キーボード５のキーを押下げることによっても指示できるようになっている。
【００２０】
また、操作記録プログラム３１のキー入力制限部３１４は、記録開始指示の後に、ホットキー以外のキーボード入力を禁止する（ステップＳ３）。このようにすることによって、どのようなキー入力が必要なのかについてユーザに意識させることができるようになる。具体的には、通常のテキスト入力なのか、スクリプトを実行させるコンピュータ毎に設定を変更しなければならない定義選択なのか、さらに仮想キー入力ボタンで入力しなければならないようなキー入力なのかを意識させる。
【００２１】
そして、操作記録プログラム３１は、ユーザからの入力を受け付け始め、何らかの入力を受け付けると、以下の処理を実施する（ステップＳ５）。
【００２２】
この入力がホットキー入力又はホットキーに対応するボタンのクリックである場合（ステップＳ７：Ｙｅｓルート）、キー入力関連処理を実施する（ステップＳ９）。キー入力関連処理が終了するとステップＳ１９に移行する。キー入力関連処理については、図５乃至図８を用いて説明する。
【００２３】
ステップＳ５で受け付けた入力が、プログラム起動ボタンのクリック又はホットキー「Ｘ」の押下である場合には（図５：ステップＳ２１）、プログラム起動処理を実施する（ステップＳ２３）。このプログラム起動処理が終了すると、端子Ｃを介して元の処理に戻る。プログラム起動処理については、図６乃至図８を用いて説明する。
【００２４】
例えばテキスト入力処理部３１２は、実行ファイル名等の入力ウィンドウを表示装置１に表示させる（ステップＳ６１）。例えば図７に示すようなウィンドウが表示される。このウィンドウに対するキー入力は許可される。図７の例では、実行すべきプログラムのリスト選択表示をさらに行ってプログラムを選択させるためのラジオボタンとスタートメニューを表示させてプログラムを選択させるためのラジオボタンとそれらのラジオボタンのいずれかの選択を確定させるためのボタンとを含むプログラム選択部と、実行ファイル名を入力するための入力欄と、実行ファイル名をディレクトリ表示から指定するための参照ボタンと、実行すべきプログラムに渡すべき引数を入力するための入力欄と、実行すべきプログラムの作業ディレクトリ名の入力欄と当該作業ディレクトリ名をディレクトリ表示から指定するための参照ボタンと、設定入力を登録するためのＯＫボタンと、設定入力をキャンセルためのキャンセルボタンとが含まれる。プログラム選択欄の操作の選択の結果は、実行ファイル名入力欄に反映される。ユーザは、このようなウィンドウに従って、入力を行ってＯＫボタンをクリックする。
【００２５】
そして、例えばテキスト入力処理部３１２は、ユーザから実行ファイル名等の入力を受け付け（ステップＳ６３）、実行ファイル名等を含むスクリプトを生成して、スクリプトファイル３３１に格納する（ステップＳ６５）。図８に示すようなスクリプトが、スクリプトファイル３３１に格納される。図８に示したスクリプトは、指定された実行ファイル名のプログラムを実行させるためのスクリプトである。そして、例えばテキスト入力処理部３１２は、ＯＳに指示して、一般プログラム３９のうち、実際に指定されたプログラムを起動させる（ステップＳ６７）。
【００２６】
なお、図５においてプログラム起動ではない場合（ステップＳ２１：Ｎｏルート）については、以下で必要な場面において説明することとする。
【００２７】
図３の処理の説明に戻って、ステップＳ９が終了すると、操作記録プログラム３１は、処理終了であるか判断し（ステップＳ１９）、処理終了でなければ端子Ｂを介してステップＳ５に戻る。一方、処理終了が指示された場合には、処理を終了する。なお、記録終了ボタンがクリックされないで終了が指示された場合やスクリプト生成ボタンがクリックされないで終了が指示された場合には、ユーザに警告の上、処理を終了する。
【００２８】
一方、ステップＳ５における入力が、ホットキー又はホットキーに対応するボタンのクリックではなく（ステップＳ７：Ｎｏルート）、マウス７によるクリックであれば（ステップＳ１１：Ｙｅｓルート）、クリック処理部３１１は、クリック処理を実施する（ステップＳ１３）。このクリック処理については、図９乃至図３４を用いて説明する。クリック処理の後には、ステップＳ１９に移行する。
【００２９】
図９を用いてクリック処理を説明する。なお、ユーザは、最初に、操作の対象となるプログラムのウィンドウを選択するため、そのウィンドウをクリックしたものとする。
【００３０】
すなわち、クリック処理部３１１は、ウィンドウの選択、すなわち起動したプログラムについてのウィンドウにおける特定のクラス（例えばStatic）についてクリックを行ったかを判断し（図９：ステップＳ７１）、ウィンドウの選択を行った場合には、選択ウィンドウ名を含むスクリプトを生成し、スクリプトファイル３３１に格納する（ステップＳ７３）。例えば、この段階で図１０に示すようなスクリプトデータがスクリプトファイル３３１に格納される。図１０の点線で囲われた部分が、ステップＳ７３で追加されたものである。ここで、ウィンドウ名は「ＳｗｉｔｃｈＢｔｎＴｅｓｔ」である。ステップＳ７３の後に元の処理に戻る。
【００３１】
なお、以下で述べる図１１及び図１２に示すクラス及び上記特定のクラス以外のクラス「ComboLbox」のクリックである場合には、スクリプト「SelectItem（"テキスト"）」が生成され、格納される。ここで「テキスト」は、コンボボックスのリストボックスで選択されたテキストである。
【００３２】
一方、ウィンドウの選択ではない場合、クリック処理部３１１は、ボタン等のクリックであるか判断する（ステップＳ７５）。より具体的には、クリック対象のウィンドウにおける、図１１に示すようなクラスについてのクリックであるか判断する。すなわち、ここで列挙されているリストボックス及びボタンのクラスに該当するか否かを判断する。図１１に示すテーブルは、クラス名と、対応して生成すべきスクリプトの例を示している。図１１に列挙されているクラスの場合には、クリック処理部３１１は、図１１のテーブルにおいて対応付けて示されているように、選択したボタン等についての情報（選択したテキスト、クリックしたボタン等の名前、クリックした結果のオン又はオフなど）を取得して、当該情報を含むスクリプトを生成し、スクリプトファイル３３１に格納する（ステップＳ７７）。そして元の処理に戻る。
【００３３】
一方、図１１に示すようなクラスではなく図１２に示すようなクラスである場合には、クリック処理部３１１は、図１２のテーブルにおいて対応付けて示されているように、クリックした座標値及び必要な情報を取得して、当該クリック座標値及び取得情報を含むスクリプトを生成して、スクリプトファイル３３１に格納する（ステップＳ７９）。そして元の処理に戻る。
【００３４】
例えば図１３に示すようなウィンドウが操作対象のウィンドウであるとする。図１３のウィンドウのタイトルは、上でも述べた「ＳｗｉｔｃｈＢｔｎＴｅｓｔ」である。ここでは、ユーザはマウス７を操作して、左上のチェックボックス「Ｃｈｅｃｋ１」をクリックして、未チェック状態からチェック状態に遷移させたものとする。このような場合には、ステップＳ７７に移行して、図１４の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「Ｃｈｅｃｋ１」であり、キャプションは「１」であり、状態は「ｔｒｕｅ」である。状態「ｔｒｕｅ」は、押されたボタンの処理を待ち、状態「ｆａｌｓｅ」は、ボタンを閉じたままにするという意味である。
【００３５】
次に、例えば図１５に示すようなマウス操作を行ったものとする。すなわち、チェックボックス「Ｃｈｅｃｋ２」をクリックして、チェック状態を未チェック状態に遷移させたものとする。このような場合には、ステップＳ７７に移行して、図１６の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「Ｃｈｅｃｋ２」であり、キャプションは「０」であり、状態は「ｔｒｕｅ」である。
【００３６】
次に、例えば図１７に示すようなマウス操作を行ったものとする。すなわち、チェックボックス「￥”」をクリックして、未チェック状態をチェック状態に遷移させたものとする。このような場合には、ステップＳ７７に移行して、図１８の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは￥”を表すための「￥￥  ￥”」であり、キャプションは「１」であり、状態は「ｔｒｕｅ」である。
【００３７】
さらに、例えば図１９に示すようなマウス操作を行ったものとする。すなわち、左下の３つのラジオボタンの中央の選択肢「Ｒａｄｉｏ２」をクリックしたものとする。選択肢「Ｒａｄｉｏ１」についての選択は解除される。このような場合には、ステップＳ７７に移行して、図２０の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたラジオボタンの情報を含むスクリプトが生成される。ここでスタイルは「Ｒａｄｉｏ２」であり、キャプションは「１」であり、状態は「ｆａｌｓｅ」である。
【００３８】
さらに、例えば図２１に示すようなマウス操作を行ったものとする。すなわち、左下の３つのラジオボタンの下の選択肢「Ｒａｄｉｏ３」をクリックしたものとする。選択肢「Ｒａｄｉｏ２」についての選択は解除される。このような場合には、ステップＳ７７に移行して、図２２の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたラジオボタンの情報を含むスクリプトが生成される。ここでスタイルは「Ｒａｄｉｏ３」であり、キャプションは「１」であり、状態は「ｆａｌｓｅ」である。
【００３９】
さらに、例えば図２３に示すようなマウス操作を行ったものとする。すなわち、中央上段のボタンをクリックして、選択状態を非選択状態に遷移させたものとする。このような場合には、ステップＳ７７に移行して、図２４の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたボタンの情報を含むスクリプトが生成される。ここでスタイルは「Ｐｕｓｈ  Ｂｔｎ」であり、キャプションは「０」であり、状態は「ｔｒｕｅ」である。
【００４０】
さらに、例えば図２５に示すようなマウス操作を行ったものとする。すなわち、中央上段のチェックボックスをクリックして、選択状態を非選択状態に遷移させたものとする。このような場合には、ステップＳ７７に移行して、図２６の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「３−ｓｔａｔｅ」であり、キャプションは「０」であり、状態は「ｔｒｕｅ」である。
【００４１】
さらに、例えば図２７に示すようなマウス操作を行ったものとする。すなわち、中央下段の排他的ボタンのボタン「Ｒａｄｉｏ４」及び「Ｒａｄｉｏ５」のうちボタン「Ｒａｄｉｏ５」をクリックして、ボタン「Ｒａｄｉｏ５」を選択状態に遷移させたものとする。このような場合には、ステップＳ７７に移行して、図２８の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「Ｒａｄｉｏ５」であり、キャプションは「１」であり、状態は「ｆａｌｓｅ」である。
【００４２】
さらに、例えば図２９に示すようなマウス操作を行ったものとする。すなわち、右上欄のリストビューのボックス「ListView Item 1」（チェックボックスではない）をクリックして、非選択状態を選択状態に遷移させたものとする。このような場合には、ステップＳ７９に移行して、図３０の点線内に示すようなスクリプトを生成する。図１２の１行目のクラスということで、ウィンドウタイトル、クリック座標値、クリック対象の情報を含むスクリプトが生成される。スクリプト２行目中「２９５，６５」は、クリック座標値である。さらに、ctlMouseEventRの最初の引数「０」は、左クリックを表し、「１」であれば右クリック、「２」であればダブルクリックを表す。また、スクリプト３行目中「ListView Item 1」は、クリック対象のテキストである。
【００４３】
さらに、例えば図３１に示すようなマウス操作を行ったものとする。すなわち、右上欄のリストビューのボックス「ListView Item 2」（チェックボックスではない）をクリックして、選択状態を非選択状態に遷移させたものとする。このような場合には、ステップＳ７９に移行して、図３２の点線内に示すようなスクリプトを生成する。図１２の１行目のクラスということで、ウィンドウタイトル、クリック座標値、クリック対象の情報を含むスクリプトが生成される。スクリプト２行目中「２９５，８１」は、クリック座標値である。また、スクリプト３行目中「ListView Item 2」は、クリック対象のテキストである。
【００４４】
さらに、例えば図３３に示すようなマウス操作を行ったものとする。すなわち、右中段のテキスト入力欄３３１０をクリックしたものとする。次にテキストの入力を行うための準備である。このような場合には、ステップＳ７９に移行して、図３４の点線内に示すようなスクリプトを生成する。図１２の６行目のクラスということで、ウィンドウタイトル及びクリック座標値を含むスクリプトが生成される。スクリプト２行目中「３２３，１８０」は、クリック座標値である。
【００４５】
その後、ユーザは、テキスト入力を行うわけであるが、ステップＳ３で示したように、ホットキー以外のキーボード入力は禁止されているので、操作記録プログラム３１のテキスト入力ボタンをクリックするか、ホットキー「１」を押下げる。
【００４６】
このような場合を、図３に戻って説明する。ステップＳ５で入力を受け付け、この入力がホットキー入力又は対応するボタンのクリックであると判断され、キー入力関連処理を実施する（ステップＳ９）。キー入力関連処理（図５）の処理の説明に移行して、ステップＳ２１でプログラム起動の指示ではないと判断された上で（ステップＳ２１：Ｎｏルート）、テキスト入力であると判断された場合（ステップＳ２５：Ｙｅｓルート）、テキスト入力処理部３１２は、テキスト入力ウィンドウを表示装置１に表示する（ステップＳ２７）。例えば図３５のようなウィンドウを表示する。
【００４７】
図３５に示すように、文字列入力欄を含むウィンドウが表示され、キー入力制限部３１４はキー入力を許可する。図３５の例では、「テスト」というテキストが入力されている。なお、改行が必要であれば、「改行を付加」のチェックボックスにチェックを付す。そして、送信ボタンをクリックする。なお、キャンセルする場合には、キャンセルボタンをクリックする。
【００４８】
テキスト入力処理部３１２は、入力テキストを受け付け（ステップＳ２９）、入力テキストを含むスクリプトを生成し、スクリプトファイル３３１に格納する（ステップＳ３１）。例えば図３６の点線内のスクリプトが生成される。この例では、ウィンドウタイトルと、入力テキスト「テスト」が含まれる。そして、元の処理に戻る。なお、操作記録対象のプログラムにも、入力テキストは送信され、図３７Ａに示すように、テキスト入力欄３３１０に、「テスト」というテキストが入力された状態になる。
【００４９】
ここで、ユーザは、スクリプトファイル３３１を実行するコンピュータに応じて異なる内容のテキストを入力しなければならない場面になったと判断したものとする。このようなテキストは、以下の例とは異なるが、例えば装置毎に異なるＩＰアドレスや、その他のパラメータである。このような場合には、図４のウィンドウにおける定義選択ボタンをクリックするか、対応付けられているホットキー「３」を押下げる。
【００５０】
このような場合を、図３に戻って説明する。ステップＳ５で入力を受け付け、この入力がホットキー入力又は対応するボタンのクリックであると判断され、キー入力関連処理を実施する（ステップＳ９）。キー入力関連処理（図５）の処理の説明に移行して、ステップＳ２１でプログラム起動の指示ではなく（ステップＳ２１：Ｎｏルート）、さらにステップＳ２５でテキスト入力の指示ではないと判断された上で（ステップＳ２５：Ｎｏルート）、定義選択の指示であると判断された場合（ステップＳ３３：Ｙｅｓルート）、定義参照処理部３１３は、データ格納部３３に定義ファイル３３３が既に存在しているか確認する（ステップＳ３７）。
【００５１】
定義ファイル３３３が存在していない場合には、定義参照処理部３１３は、定義ファイル３３３を生成するための入力ウィンドウを表示して、ファイル名等の入力を行わせて、指定されたファイル名の定義ファイル３３３をデータ格納部３３において生成する（ステップＳ３９）。そして、定義参照処理部３１３は、定義名及び定義値の設定ウィンドウを表示装置１に表示させる（ステップＳ４１）。例えば図３７Ｂに示すようなウィンドウを表示させる。図３７Ｂの例では、定義名の入力欄と、定義値の入力欄と、ＯＫボタンと、キャンセルボタンとが設けられている。本例では、定義名「ＴＥＳＴＤＡＴＡ」が入力され、定義値「１０」が入力され、ＯＫボタンがクリックされる。
【００５２】
定義参照処理部３１３は、定義名及び定義値の入力を受け付け、当該定義名及び定義値を、定義ファイル３３３に格納する（ステップＳ４３）。例えば、図３８に示すようなデータが、定義ファイル３３３に格納される。ここでは、定義名と定義値とが「＝」で結ばれて登録されている。
【００５３】
ステップＳ３７で定義ファイル３３３が存在すると判断された場合又はステップＳ４３の後に、定義参照処理部３１３は、定義名及び定義値選択ウィンドウを表示装置１に表示させる（ステップＳ４５）。例えば、図３９に示すようなウィンドウが表示される。図３９の例では、定義名と定義値の対を複数選択可能に表示する欄と、追加ボタンと、編集ボタンと、削除ボタンと、選択ボタンと、キャンセルボタンとが設けられている。このようなウィンドウにおいて、ここでは、ステップＳ４１及びＳ４３で登録した定義名及び定義値を選択したものとする。すなわち、行３９１０を選択した上で、選択ボタンをクリックする。
【００５４】
このように、いずれかの行が選択され且つ選択ボタンがクリックされた場合には（ステップＳ４７：Ｙｅｓルート）、定義参照処理部３１３は、ユーザから選択指示を受け付け、選択指示がなされたと認識して（ステップＳ４７：Ｙｅｓルート）、選択された定義名を含み且つ対応する定義値を定義ファイル３３３から読み出すためのスクリプトを生成して、スクリプトファイル３３１に格納する（ステップＳ４９）。例えば図４０の点線内のスクリプトが生成される。図４０の点線においては、１行目は操作対象ウィンドウのタイトルを含み、２行目は選択された定義名「ＴＥＳＴＤＡＴＡ」を含む。これによって、スクリプトファイル３３１が実行された際には、対応する定義値「１０」が実際には読み込まれることになる。ステップＳ４９の後に、今回選択された定義名に対応する定義値「１０」を、操作対象ウィンドウに送って、図４１に示すように、定義値「１０」を入力欄３３１０に表示させる。ステップＳ４９の後に、元の処理に戻る。
【００５５】
なお、図３９に示したウィンドウにおいて、追加ボタン又は特定の行を選択の上変更ボタンをクリックした場合には（ステップＳ５１）、ステップＳ４１に戻る。ここで、定義名及び定義値を追加するか、又は定義名と定義値とのうち少なくともいずれかを修正して登録する。一方、追加ボタン又は変更ボタンのクリックではなく、特定の行を選択した上での削除ボタンのクリックの場合には、定義参照処理部３１３は、定義ファイル３３３において、選択した行の定義名及び定義値の対を削除する（ステップＳ５３）。そして、端子Ｄを介してステップＳ４５に移行する。
【００５６】
さらに、ステップＳ３３で定義選択のホットキーが押下げられていない場合には、拡張機能処理部３１５が、押下げられたホットキー又はクリックされたボタンに対応する処理を実施する（ステップＳ３５）。そして、端子Ｃを介して元の処理に戻る。
【００５７】
以上のような処理を実施することによって、異なるコンピュータで異なる値を入力する必要がある場合にも、定義ファイル３３３だけを変更すればよいので、コンピュータ毎にスクリプトファイル３３１を生成するよりも誤りを低減して効率的に対処することができるようになる。
【００５８】
次に、ユーザは、図４２に示すように、操作対象のウィンドウにおけるＯＫボタンをクリックするものとする。このような場合には、ステップＳ７７に移行して、図４３の点線内に示すようなスクリプトを生成する。図１１の２行目のクラスということで、ウィンドウタイトル及びクリックしたボタンの情報を含むスクリプトが生成される。ここでスタイルは「ＯＫ」であり、キャプションは「１」であり、状態は「ｆａｌｓｅ」である。
【００５９】
ここまでで操作記録が完了したものとする。そうすると、ユーザは、操作記録プログラム３１のウィンドウにおける記録終了ボタンをクリックする。
【００６０】
このための処理を図３に戻って説明する。ステップＳ５で入力を受け付け、この入力がホットキー入力又は対応するボタンのクリックではなく（ステップＳ７：Ｎｏルート）、クリックでもないと判断された上で（ステップＳ１１：Ｎｏルート）、制御入力、すなわち操作記録プログラム３１のウィンドウにおける記録停止などのボタンがクリックされた場合（ステップＳ１５：Ｙｅｓルート）、制御入力処理を実施する（ステップＳ１７）。なお、制御入力でもない場合には端子Ａを介してステップＳ１９に移行する。制御入力処理については、図４４及び図４５を用いて説明する。記録停止ボタンがクリックされたと判断された場合には（ステップＳ８１：Ｙｅｓルート）、キー入力制限部３１４は、キーボード入力の禁止を解除する（ステップＳ８３）。ここで、操作記録プログラム３１のウィンドウは、例えば図４５に示すような状態になる。ここで、記録開始ボタンと、スクリプト生成ボタンと、設定ボタンとがクリックできるようになっている。そして、この状態において、操作記録プログラム３１は、さらにユーザからの入力を受け付ける（ステップＳ８４）。
【００６１】
ステップＳ８４において、スクリプト出力ボタンがクリックされた場合には（ステップＳ８５：Ｙｅｓルート）、操作記録プログラム３１は、データ格納部３３内のスクリプトファイル３３１をクローズし（ステップＳ８７）、元の処理に戻る。また、スクリプト出力ボタンがクリックされたわけではなく（ステップＳ８５：Ｎｏルート）、記録開始ボタンがクリックされた場合には（ステップＳ８９：Ｙｅｓルート）、端子Ｅを介して図３のステップＳ１に戻る。記録再開ボタンがクリックされたわけではなく（ステップＳ８９：Ｎｏルート）、設定ボタンがクリックされると、操作記録プログラム３１は、設定などの処理を実施する（ステップＳ９１）。そして元の処理に戻る。なお、設定などの処理については、本実施の形態の主要部ではないので説明を省略する。
【００６２】
以上のような処理を実施することによって、ユーザは、簡単にスクリプトファイルを生成できる。さらに装置固有のテキスト入力については定義ファイルから読み出すようなスクリプトを生成させることによって定義ファイルに変更が必要な部分を集約させることで、誤りを低減させつつ簡易に個別装置への対応を可能にしている。
【００６３】
すなわち、ある装置には図３８のような定義ファイル３３３を用いるが、他の装置には、図４６に示すような定義ファイルに変更した上で、使用する。すなわち、ＴＥＳＴＤＡＴＡ＝１０であったものを、ＴＥＳＴＤＡＴＡ＝３０に変更している。このように、装置毎に変更を加えて、定義ファイル３３３を用意する。
【００６４】
なお、ＩＰアドレスなどの装置固有のデータを保持する他のファイルから該当データ項目の値を読み出して、定義ファイル３３３において対応する定義名の定義値を変更するような機能を、操作記録プログラム３１に設けるようにしても良い。このような機能を、操作記録プログラム３１の他にツールとして用意するようにしても良い。
【００６５】
また、このように生成されたスクリプトファイル３３１及び定義ファイル３３３については、図４７に示すように、スクリプトエンジン４１００によって解釈されて、操作記録対象のプログラム４２００に対して行った操作を再現するように、入力などの操作が行われる。この技術については例えば特開２００４−７８２６８号公報などに記載されている技術であるからこれ以上述べない。
【００６６】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で述べた機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限りにおいて、処理順番を入れ替えたり、並列実行するようにしても良い。
【００６７】
さらに、操作記録プログラム３１のウィンドウ構成については一例であって、他の構成であっても良い。また、ホットキーの割当を全てのボタンに対して行って、ウィンドウの表示自体を行わないようにしても良い。
【００６８】
また、操作記録を開始した後に、キーボード入力を制限していたが、操作記録プログラム３１の起動に応じてキーボード入力を制限するようにしても良い。
【００６９】
なお、上で述べたコンピュータ３は、図４８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【符号の説明】
【００７０】
１  表示装置    ３  コンピュータ
５  キーボード    ７  マウス
３１  操作記録プログラム    ３３  データ格納部
３９  一般プログラム
３１１  クリック処理部    ３１２  テキスト入力処理部
３１３  定義参照処理部    ３１４  キー入力制限部
３１５  拡張機能処理部
【図１】
2011204139.tif 000003
【図２】
2011204139.tif 000004
【図３】
2011204139.tif 000005
【図４】
2011204139.tif 000006
【図５】
2011204139.tif 000007
【図６】
2011204139.tif 000008
【図７】
2011204139.tif 000009
【図８】
2011204139.tif 000010
【図９】
2011204139.tif 000011
【図１０】
2011204139.tif 000012
【図１１】
2011204139.tif 000013
【図１２】
2011204139.tif 000014
【図１３】
2011204139.tif 000015
【図１４】
2011204139.tif 000016
【図１５】
2011204139.tif 000017
【図１６】
2011204139.tif 000018
【図１７】
2011204139.tif 000019
【図１８】
2011204139.tif 000020
【図１９】
2011204139.tif 000021
【図２０】
2011204139.tif 000022
【図２１】
2011204139.tif 000023
【図２２】
2011204139.tif 000024
【図２３】
2011204139.tif 000025
【図２４】
2011204139.tif 000026
【図２５】
2011204139.tif 000027
【図２６】
2011204139.tif 000028
【図２７】
2011204139.tif 000029
【図２８】
2011204139.tif 000030
【図２９】
2011204139.tif 000031
【図３０】
2011204139.tif 000032
【図３１】
2011204139.tif 000033
【図３２】
2011204139.tif 000034
【図３３】
2011204139.tif 000035
【図３４】
2011204139.tif 000036
【図３５】
2011204139.tif 000037
【図３６】
2011204139.tif 000038
【図３７Ａ】
2011204139.tif 000039
【図３７Ｂ】
2011204139.tif 000040
【図３８】
2011204139.tif 000041
【図３９】
2011204139.tif 000042
【図４０】
2011204139.tif 000043
【図４１】
2011204139.tif 000044
【図４２】
2011204139.tif 000045
【図４３】
2011204139.tif 000046
【図４４】
2011204139.tif 000047
【図４５】
2011204139.tif 000048
【図４６】
2011204139.tif 000049
【図４７】
2011204139.tif 000050
【図４８】
2011204139.tif 000051