(57)【特許請求の範囲】
【請求項１】
マクロの実行が要求された場合、要求された前記マクロに記述されたマクロ命令をプログラムコードに変換するための第１の変換手段と、
前記マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するための特定手段と、
前記第１の変換手段によって変換されたプログラムコードおよび前記特定手段によって特定されたウィンドウのハンドルに基づいて、前記マクロを実行するための実行手段とを含むマクロ実行装置。
【請求項２】
前記特定手段は、前記マクロ命令内のタイトルとウィンドウタイトルとを前方から比較して、一致する文字数をカウントするための第１の比較手段と、
前記マクロ命令内のタイトルとウィンドウタイトルとを後方から比較して、一致する文字数をカウントするための第２の比較手段と、
前記第１の比較手段によってカウントされた文字数と、前記第２の比較手段によってカウントされた文字数とを加算したスコアに基づいて、最も類似したタイトルのウィンドウを取得するための取得手段とを含む、請求項１記載のマクロ実行装置。
【請求項３】
前記マクロ実行装置はさらに、インストールされているアプリケーションの情報を格納するための格納手段と、
前記格納手段に格納されたアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するための取得手段と、
前記取得手段によって取得されたアプリケーション名を表示するための表示手段と、
前記表示手段によって表示されたアプリケーション名の中からアプリケーションを選択するための選択手段と、
前記選択手段によって選択されたアプリケーションを起動するための起動手段と、
前記選択手段によって選択されたアプリケーションを起動する操作と、前記起動手段によって起動されたアプリケーションにおけるユーザの操作とを記録するための記録手段と、
前記記録手段によって記録された操作をマクロ言語に変換するための第２の変換手段とを含み、
前記第２の変換手段は、前記選択手段によって選択されたアプリケーションに対応した実行ファイルのパスを用いて、前記記録手段によって記録されたアプリケーションを起動する操作をマクロ言語に変換し、
前記実行手段は、前記第２の変換手段によって変換されたマクロを実行する、請求項１記載のマクロ実行装置。
【請求項４】
前記起動手段は、前記表示手段によって表示されたアプリケーション名の中から選択されたアプリケーション名に対応した実行ファイルのパスを参照して、アプリケーションを起動する、請求項３記載のマクロ実行装置。
【請求項５】
前記マクロ実行装置はさらに、起動済みのアプリケーションの中からアプリケーションを選択するための選択手段と、
起動済みの複数のアプリケーションより、前記選択手段によって選択されたアプリケーションのウィンドウを最前面に移動させるための移動手段と、
前記選択手段によって選択されたアプリケーションのウィンドウを最前面に移動させる操作と、前記選択手段によって選択された起動済みアプリケーションにおけるユーザの操作とを記録するための記録手段と、
前記記録手段によって記録された操作をマクロ言語に変換するための第２の変換手段とを含み、
前記第２の変換手段は、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換し、
前記実行手段は、前記第２の変換手段によって変換されたマクロを実行する、請求項１記載のマクロ実行装置。
【請求項６】
前記選択手段は、アプリケーションのウィンドウのハンドルを取得するための取得手段と、
前記取得手段によって取得されたハンドルを参照して、起動済みアプリケーションのウィンドウタイトルを表示するための表示手段とを含み、
前記第２の変換手段は、前記表示手段によって表示されたウィンドウタイトルの中から選択されたウィンドウタイトルに対応したウィンドウハンドルを参照して、前記記録手段によって記録されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換する、請求項５記載のマクロ実行装置。
【請求項７】
前記移動手段は、前記表示手段によって表示されたウィンドウタイトルの中から選択されたウィンドウタイトルに対応したウィンドウハンドルを参照して、アプリケーションのウィンドウを最前面に移動させる、請求項６記載のマクロ実行装置。
【請求項８】
マクロの実行が要求された場合、要求された前記マクロに記述されたマクロ命令をプログラムコードに変換するステップと、
前記マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するステップと、
前記変換されたプログラムコードおよび前記特定されたウィンドウのハンドルに基づいて、前記マクロを実行するステップとを含むマクロ実行方法。
【請求項９】
前記マクロ実行方法はさらに、インストールされているアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するステップと、
前記取得されたアプリケーション名を表示するステップと、
前記表示されたアプリケーション名の中から選択されたアプリケーションを起動するステップと、
前記選択されたアプリケーションを起動する操作と、前記起動されたアプリケーションにおけるユーザの操作とを記録するステップと、
前記記録された操作をマクロ言語に変換するステップとを含み、
前記マクロ言語に変換するステップは、前記選択されたアプリケーションに対応した実行ファイルのパスを用いて、前記記録されたアプリケーションを起動する操作をマクロ言語に変換するステップを含み、
前記マクロを実行するステップは、前記変換されたマクロを実行するステップを含む、請求項８記載のマクロ実行方法。
【請求項１０】
前記マクロ実行方法はさらに、起動済みの複数のアプリケーションより、起動済みのアプリケーションの中から選択されたアプリケーションのウィンドウを最前面に移動させるステップと、
前記選択されたアプリケーションのウィンドウを最前面に移動させる操作と、前記選択された起動済みアプリケーションにおけるユーザの操作とを記録するステップと、
前記記録された操作をマクロ言語に変換するステップとを含み、
前記マクロ言語に変換するステップは、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換するステップを含み、
前記マクロを実行するステップは、前記変換されたマクロを実行するステップを含む、請求項８記載のマクロ実行方法。
【請求項１１】
マクロを実行するマクロ実行方法をコンピュータに実行させるためのコンピュータ・プログラムであって、
前記マクロ実行方法は、マクロの実行が要求された場合、要求された前記マクロに記述されたマクロ命令をプログラムコードに変換するステップと、
前記マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するステップと、
前記変換されたプログラムコードおよび前記特定されたウィンドウのハンドルに基づいて、前記マクロを実行するステップとを含む、コンピュータ・プログラム。
【請求項１２】
前記マクロ実行方法はさらに、インストールされているアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するステップと、
前記取得されたアプリケーション名を表示するステップと、
前記表示されたアプリケーション名の中から選択されたアプリケーションを起動するステップと、
前記選択されたアプリケーションを起動する操作と、前記起動されたアプリケーションにおけるユーザの操作とを記録するステップと、
前記記録された操作をマクロ言語に変換するステップとを含み、
前記マクロ言語に変換するステップは、前記選択されたアプリケーションに対応した実行ファイルのパスを用いて、前記記録されたアプリケーションを起動する操作をマクロ言語に変換するステップを含み、
前記マクロを実行するステップは、前記変換されたマクロを実行するステップを含む、請求項１１記載のコンピュータ・プログラム。
【請求項１３】
前記マクロ実行方法はさらに、起動済みの複数のアプリケーションより、起動済みのアプリケーションの中から選択されたアプリケーションのウィンドウを最前面に移動させるステップと、
前記選択されたアプリケーションのウィンドウを最前面に移動させる操作と、前記選択された起動済みアプリケーションにおけるユーザの操作とを記録するステップと、
前記記録された操作をマクロ言語に変換するステップとを含み、
前記マクロ言語に変換するステップは、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換するステップを含み、
前記マクロを実行するステップは、前記変換されたマクロを実行するステップを含む、請求項１１記載のコンピュータプログラム。
【請求項１４】
マクロを実行するマクロ実行方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取可能な記録媒体であって、
前記マクロ実行方法は、マクロの実行が要求された場合、要求された前記マクロに記述されたマクロ命令をプログラムコードに変換するステップと、
前記マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するステップと、
前記変換されたプログラムコードおよび前記特定されたウィンドウのハンドルに基づいて、前記マクロを実行するステップとを含む、コンピュータで読取可能な記録媒体。
【請求項１５】
前記マクロ実行方法はさらに、インストールされているアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するステップと、
前記取得されたアプリケーション名を表示するステップと、
前記表示されたアプリケーション名の中から選択されたアプリケーションを起動するステップと、
前記選択されたアプリケーションを起動する操作と、前記起動されたアプリケーションにおけるユーザの操作とを記録するステップと、
前記記録された操作をマクロ言語に変換するステップとを含み、
前記マクロ言語に変換するステップは、前記選択されたアプリケーションに対応した実行ファイルのパスを用いて、前記記録されたアプリケーションを起動する操作をマクロ言語に変換するステップを含み、
前記マクロを実行するステップは、前記変換されたマクロを実行するステップを含む、請求項１４記載のコンピュータで読取可能な記録媒体。
【請求項１６】
前記マクロ実行方法はさらに、起動済みの複数のアプリケーションより、起動済みのアプリケーションの中から選択されたアプリケーションのウィンドウを最前面に移動させるステップと、
前記選択されたアプリケーションのウィンドウを最前面に移動させる操作と、前記選択された起動済みアプリケーションにおけるユーザの操作とを記録するステップと、
前記記録された操作をマクロ言語に変換するステップとを含み、
前記マクロ言語に変換するステップは、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換するステップを含み、
前記マクロを実行するステップは、前記変換されたマクロを実行するステップを含む、請求項１４記載のコンピュータで読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションプログラム、ＯＡ（Office Automation）機器、ＡＶ（Audio Visual）機器等の操作を自動化するマクロ作成技術に関し、特に、作成されたマクロがコンピュータの環境変化によって突然動作しなくなるといった不具合を防止したマクロ作成装置、そのマクロを実行するマクロ実行装置、それらの方法、それらのコンピュータ・プログラムおよびそれらのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ等の情報処理装置が広く普及するとともに、コンピュータ上で動作するアプリケーションプログラムも多様化して、操作手順を覚えるのにかなりの労力が必要となってきている。
【０００３】
このような問題を解決する技術の１つとして、Microsoft Office（Ｒ）に付属されたマクロ、エーアイソフト社のScriPlayer（Ｒ）、フリーソフトのＵＷＳＣ．ｅｘｅなどのマクロ作成ツールを挙げることができる。これらのマクロ作成ツールは、ユーザが行なった操作を記録し、その記録された操作から独自のマクロ言語を用いてマクロファイルを作成する。そして、そのマクロファイルを実行することによって、ユーザは同じ操作を容易に実行することができる。
【０００４】
上述したMicrosoft OfficeのマクロやＵＷＳＣ．ｅｘｅにおいては、マクロ作成開始時点からユーザによって行なわれたキー操作やマウス操作を忠実に取得してマクロファイルを作成するため、マクロ作成のための操作は簡単である。
【０００５】
また、ScriPlayerにおいて、ユーザが行なった操作を記録してマクロファイルに変換する点では同様であるが、ユーザが作成されたマクロファイルの内容を変更するための環境が付属されている点で異なっている。
【０００６】
【発明が解決しようとする課題】
上述した従来のマクロ作成ツールにおいては、マクロを作成する際に、操作対象となるアプリケーションの起動操作の記録、すなわちアプリケーションの起動のために行なわれたマウスクリックの位置の記録や、キー入力の種類の記録も行なわれる。アプリケーションの起動操作は、アプリケーション一覧のリストや、アイコン一覧が表示されたウィンドウから行なわれることが多い。
【０００７】
たとえば、アプリケーション、ブラウザに保存されているＵＲＬ（Uniform Resource Locators）等の追加・削除や、画面表示設定の変更が行なわれて、リストやアイコンの構成、並び順、表示位置などが変わると、マクロ作成時の状態とマクロ実行時の状態との食い違いが生じて、最悪の場合にはアプリケーション起動を行なう全てのマクロが実行できなくなるといった問題点があった。
【０００８】
上述した従来のマクロ作成ツールにおけるマクロ言語の仕様として、アプリケーションを直接立ち上げるためのコマンドが備えられているが、それを用いるためにはユーザがマクロファイルをエディタで直接編集する必要があり、使い勝手が悪いといった問題点もあった。
【０００９】
また、既に起動されているアプリケーションを操作対象とするマクロを作成する場合には、操作対象のアプリケーションウィンドウがマクロ作成時に別のウィンドウの下になっていると、操作対象のアプリケーションウィンドウを最前面にする必要があるが、その操作も記録されてマクロファイルが作成される。
【００１０】
たとえば、マクロ実行時におけるウィンドウの状況がマクロ作成時と異なる場合、マクロ作成時に記録された操作対象のアプリケーションのウィンドウを最前面にするための操作が、マクロ実行時に予期しない悪影響をもたらす可能性があるといった問題点があった。
【００１１】
また、マクロ実行時において、操作対象アプリケーションウィンドウを検索する場合には、マクロ作成時に記録したウィンドウ名との完全一致で検索が行なわれる。しかし、ウィンドウ名にはファイル名が入る場合も多く、またアプリケーションやホームページによってはウィンドウタイトルに日付が入る場合もあり、マクロ実行時にウィンドウタイトルの完全一致で操作対象アプリケーションウィンドウを検索する方法では、操作対象アプリケーションウィンドウを発見できず、マクロの実行が行なえなくなるといった問題点もあった。
【００１２】
本発明は、上記問題点を解決するためになされたのもであり、第１の目的は、マクロ実行時におけるウィンドウの状態にかかわらず、アプリケーションを確実に起動することが可能なマクロ作成装置、その方法、そのコンピュータ・プログラム、そのプログラムを記録した記録媒体を提供することである。
【００１３】
第２の目的は、操作対象ウィンドウを正確に識別して、マクロの実行を確実に行なうことが可能なマクロ実行装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体を提供することである。
【００１４】
【課題を解決するための手段】
本発明のある局面に従えば、マクロ実行装置は、マクロの実行が要求された場合、要求されたマクロに記述されたマクロ命令をプログラムコードに変換するための第１の変換手段と、マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するための特定手段と、第１の変換手段によって変換されたプログラムコードおよび特定手段によって特定されたウィンドウのハンドルに基づいて、マクロを実行するための実行手段とを含む。
実行手段は、特定手段によって特定されたウィンドウのハンドルに基づいてマクロを実行するので、操作対象ウィンドウを正確に識別することができ、マクロの実行を確実に行なうことが可能となる。
好ましくは、特定手段は、マクロ命令内のタイトルとウィンドウタイトルとを前方から比較して、一致する文字数をカウントするための第１の比較手段と、マクロ命令内のタイトルとウィンドウタイトルとを後方から比較して、一致する文字数をカウントするための第２の比較手段と、第１の比較手段によってカウントされた文字数と、第２の比較手段によってカウントされた文字数とを加算したスコアに基づいて、最も類似したタイトルのウィンドウを取得するための取得手段とを含む。
したがって、タイトルの異なる部分が前方または後方に偏っている場合であっても、タイトルの比較を正確に行なうことが可能となる。
好ましくは、マクロ実行装置はさらに、インストールされているアプリケーションの情報を格納するための格納手段と、格納手段に格納されたアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するための取得手段と、取得手段によって取得されたアプリケーション名を表示するための表示手段と、表示手段によって表示されたアプリケーション名の中からアプリケーションを選択するための選択手段と、選択手段によって選択されたアプリケーションを起動するための起動手段と、選択手段によって選択されたアプリケーションを起動する操作と、起動手段によって起動されたアプリケーションにおけるユーザの操作とを記録するための記録手段と、記録手段によって記録された操作をマクロ言語に変換するための第２の変換手段とを含み、第２の変換手段は、選択手段によって選択されたアプリケーションに対応した実行ファイルのパスを用いて、記録手段によって記録されたアプリケーションを起動する操作をマクロ言語に変換し、実行手段は、第２の変換手段によって変換されたマクロを実行する。
【００１５】
第２の変換手段は、選択手段によって選択されたアプリケーションを起動する操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することが可能となる。
【００１７】
また、第２の変換手段は、アプリケーション名に対応した実行ファイルのパスを参照して、アプリケーションを起動する操作をマクロ言語に変換するので、アプリケーションの起動を確実に行なうようにマクロを作成することが可能となる。
【００１８】
さらに好ましくは、起動手段は、表示手段によって表示されたアプリケーション名の中から選択されたアプリケーション名に対応した実行ファイルのパスを参照して、アプリケーションを起動する。
【００１９】
起動手段は、選択されたアプリケーション名に対応した実行ファイルのパスを参照して、アプリケーションを起動するので、ユーザがアプリケーションの起動操作を行なう必要がなくなり、操作性を向上させることが可能となる。
【００２０】
好ましくは、マクロ実行装置はさらに、起動済みのアプリケーションの中からアプリケーションを選択するための選択手段と、起動済みの複数のアプリケーションより、選択手段によって選択されたアプリケーションのウィンドウを最前面に移動させるための移動手段と、選択手段によって選択されたアプリケーションのウィンドウを最前面に移動させる操作と、選択手段によって選択された起動済みアプリケーションにおけるユーザの操作とを記録するための記録手段と、記録手段によって記録された操作をマクロ言語に変換するための第２の変換手段とを含み、第２の変換手段は、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換し、実行手段は、前記第２の変換手段によって変換されたマクロを実行する。
【００２１】
第２の変換手段は、選択手段によって選択されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずウィンドウを確実に最前面に移動させることが可能となる。
【００２２】
好ましくは、選択手段は、アプリケーションのウィンドウのハンドルを取得するための取得手段と、取得手段によって取得されたハンドルを参照して、起動済みアプリケーションのウィンドウタイトルを表示するための表示手段とを含み、第２の変換手段は、表示手段によって表示されたウィンドウタイトルの中から選択されたウィンドウタイトルに対応したウィンドウハンドルを参照して、記録手段によって記録されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換する。
【００２３】
第２の変換手段は、ウィンドウタイトルに対応したウィンドウハンドルを参照して、アプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、アプリケーションウィンドウの最前面への移動を確実に行なうことが可能となる。
【００２４】
さらに好ましくは、移動手段は、表示手段によって表示されたウィンドウタイトルの中から選択されたウィンドウタイトルに対応したウィンドウハンドルを参照して、アプリケーションのウィンドウを最前面に移動させる。
【００２５】
移動手段は、選択されたウィンドウタイトルに対応したウィンドウハンドルを参照して、アプリケーションのウィンドウを最前面に移動させるので、ユーザがアプリケーションウィンドウを最前面に移動させる操作を行なう必要がなくなり、操作性を向上させることが可能となる。
【００３０】
本発明の別の局面に従えば、マクロ実行方法は、マクロの実行が要求された場合、要求されたマクロに記述されたマクロ命令をプログラムコードに変換するステップと、マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するステップと、変換されたプログラムコードおよび特定されたウィンドウのハンドルに基づいて、マクロを実行するステップとを含む。
特定されたウィンドウのハンドルに基づいてマクロを実行するので、操作対象ウィンドウを正確に識別することができ、マクロの実行を確実に行なうことが可能となる。
好ましくは、マクロ実行方法はさらに、インストールされているアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するステップと、取得されたアプリケーション名を表示するステップと、表示されたアプリケーション名の中から選択されたアプリケーションを起動するステップと、選択されたアプリケーションを起動する操作と、起動されたアプリケーションにおけるユーザの操作とを記録するステップと、記録された操作をマクロ言語に変換するステップとを含み、マクロ言語に変換するステップは、選択されたアプリケーションに対応した実行ファイルのパスを用いて、記録されたアプリケーションを起動する操作をマクロ言語に変換するステップを含み、マクロを実行するステップは、変換されたマクロを実行するステップを含む。
【００３１】
選択されたアプリケーションを起動する操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することが可能となる。
【００３２】
好ましくは、マクロ実行方法はさらに、起動済みの複数のアプリケーションより、起動済みのアプリケーションの中から選択されたアプリケーションのウィンドウを最前面に移動させるステップと、選択されたアプリケーションのウィンドウを最前面に移動させる操作と、選択された起動済みアプリケーションにおけるユーザの操作とを記録するステップと、記録された操作をマクロ言語に変換するステップとを含み、マクロ言語に変換するステップは、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換するステップを含み、マクロを実行するステップは、変換されたマクロを実行するステップを含む。
【００３３】
選択されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずウィンドウを確実に最前面に移動させることが可能となる。
【００３６】
本発明のさらに別の局面に従えば、マクロを実行するマクロ実行方法をコンピュータに実行させるためのコンピュータ・プログラムであって、マクロ実行方法は、マクロの実行が要求された場合、要求されたマクロに記述されたマクロ命令をプログラムコードに変換するステップと、マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するステップと、変換されたプログラムコードおよび特定されたウィンドウのハンドルに基づいて、マクロを実行するステップとを含む。
特定されたウィンドウのハンドルに基づいてマクロを実行するので、操作対象ウィンドウを正確に識別することができ、マクロの実行を確実に行なうことが可能となる。
好ましくは、マクロ実行方法はさらに、インストールされているアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するステップと、取得されたアプリケーション名を表示するステップと、表示されたアプリケーション名の中から選択されたアプリケーションを起動するステップと、選択されたアプリケーションを起動する操作と、起動されたアプリケーションにおけるユーザの操作とを記録するステップと、記録された操作をマクロ言語に変換するステップとを含み、マクロ言語に変換するステップは、選択されたアプリケーションに対応した実行ファイルのパスを用いて、記録されたアプリケーションを起動する操作をマクロ言語に変換するステップを含み、マクロを実行するステップは、変換されたマクロを実行するステップを含む。
【００３７】
選択されたアプリケーションを起動する操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することが可能となる。
【００３８】
好ましくは、マクロ実行方法はさらに、起動済みの複数のアプリケーションより、起動済みのアプリケーションの中から選択されたアプリケーションのウィンドウを最前面に移動させるステップと、選択されたアプリケーションのウィンドウを最前面に移動させる操作と、選択された起動済みアプリケーションにおけるユーザの操作とを記録するステップと、記録された操作をマクロ言語に変換するステップとを含み、マクロ言語に変換するステップは、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換するステップを含み、マクロを実行するステップは、変換されたマクロを実行するステップを含む。
【００３９】
選択されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずウィンドウを確実に最前面に移動させることが可能となる。
【００４２】
本発明のさらに別の局面に従えば、マクロを実行するマクロ実行方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取可能な記録媒体であって、マクロ実行方法は、マクロの実行が要求された場合、要求されたマクロに記述されたマクロ命令をプログラムコードに変換するステップと、マクロに記述されたマクロ命令がウィンドウを探索する命令であれば、当該マクロ命令内のタイトルに最も類似したタイトルのウィンドウを特定するステップと、変換されたプログラムコードおよび特定されたウィンドウのハンドルに基づいて、マクロを実行するステップとを含む。
特定されたウィンドウのハンドルに基づいてマクロを実行するので、操作対象ウィンドウを正確に識別することができ、マクロの実行を確実に行なうことが可能となる。
好ましくは、マクロ実行方法はさらに、インストールされているアプリケーションの情報を参照して、アプリケーション名と実行ファイルのパスとを取得するステップと、取得されたアプリケーション名を表示するステップと、表示されたアプリケーション名の中から選択されたアプリケーションを起動するステップと、選択されたアプリケーションを起動する操作と、起動されたアプリケーションにおけるユーザの操作とを記録するステップと、記録された操作をマクロ言語に変換するステップとを含み、マクロ言語に変換するステップは、選択されたアプリケーションに対応した実行ファイルのパスを用いて、記録されたアプリケーションを起動する操作をマクロ言語に変換するステップを含み、マクロを実行するステップは、変換されたマクロを実行するステップを含む。
【００４３】
選択されたアプリケーションを起動する操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することが可能となる。
【００４４】
好ましくは、マクロ実行方法はさらに、起動済みの複数のアプリケーションより、起動済みのアプリケーションの中から選択されたアプリケーションのウィンドウを最前面に移動させるステップと、選択されたアプリケーションのウィンドウを最前面に移動させる操作と、選択された起動済みアプリケーションにおけるユーザの操作とを記録するステップと、記録された操作をマクロ言語に変換するステップとを含み、マクロ言語に変換するステップは、起動済みのアプリケーションの中の選択されたアプリケーションをウィンドウの最前面でユーザが操作して、その操作の記録内容をマクロ言語に変換するステップを含み、マクロを実行するステップは、変換されたマクロを実行するステップを含む。
【００４５】
選択されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずウィンドウを確実に最前面に移動させることが可能となる。
【００４８】
【発明の実施の形態】
（実施の形態１）
図１は、本発明の実施の形態１におけるマクロ作成装置の外観例を示す図である。このマクロ作成装置は、コンピュータ本体１、ディスプレイ装置２、ＦＤ（Flexible Disk）４が装着されるＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）８が装着されるＣＤ−ＲＯＭ装置７およびネットワーク通信装置９を含む。
【００４９】
マクロ作成プログラムは、ＦＤ４またはＣＤ−ＲＯＭ８等の記録媒体によって供給される。マクロ作成プログラムはコンピュータ本体１によって実行され、ユーザはディスプレイ装置２を見ながらキーボード５またはマウス６を操作して、マクロの作成等を行なう。また、マクロ作成プログラムは他のコンピュータより通信回線を経由し、ネットワーク通信装置９を介してコンピュータ本体１に供給されてもよい。
【００５０】
図２は、本発明の実施の形態１におけるマクロ作成装置の構成例を示すブロック図である。図１に示すコンピュータ本体１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２およびハードディスク１３を含む。ＣＰＵ１０は、ディスプレイ装置２、ＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ装置７、ネットワーク通信装置９、ＲＯＭ１１、ＲＡＭ１２またはハードディスク１３との間でデータを入出力しながら処理を行う。ＦＤ４またはＣＤ−ＲＯＭ８に記録されたマクロ作成プログラムは、ＣＰＵ１０によってＦＤドライブ３またはＣＤ−ＲＯＭ装置７を介して一旦ハードディスク１３に格納される。ＣＰＵ１０は、ハードディスク１３から適宜マクロ作成プログラムをＲＡＭ１２にロードして実行することによってマクロの作成等を行なう。なお、マクロ作成プログラムは、他のアプリケーションプログラムと同時に実行されており、他のアプリケーションプログラムの実行時においてユーザがキーボード５やマウス６等を用いて行なった操作手順を取得している。
【００５１】
図３は、本発明の実施の形態１におけるマクロ作成装置の機能的構成の概略を示すブロック図である。このマクロ作成装置はＣＰＵ１０がマクロ作成プログラムを実行することによって実現され、インストールされているアプリケーションの情報等が格納されるアプリケーション設定情報格納部２１と、アプリケーション設定情報格納部２１に格納された情報を探索してアプリケーションの情報を取得するアプリケーション探索部２２と、アプリケーション探索部２２によって取得されたアプリケーションの情報が保存されるアプリケーションリスト格納部２３と、アプリケーションリスト格納部２３に保存されているアプリケーション名をリスト形式で表示するアプリケーション名表示部２４と、ユーザによって選択されたアプリケーションを起動するアプリケーション起動部２５と、ユーザの操作を記録する操作記録部２６と、操作記録部２６による操作記録をマクロ言語形式の命令に変換してマクロファイルを生成するマクロ言語変換部２７と、マクロ言語変換部２７によって生成されたマクロファイルが格納されるマクロファイル格納部２８とを含む。
【００５２】
図４は、本発明の実施の形態１におけるマクロ作成装置の処理手順を説明するためのフローチャートである。まず、アプリケーション探索部２２がＷｉｎｄｏｗｓ（Ｒ）のスタートフォルダにあるショートカットを全て参照して、アプリケーション設定情報格納部２１からコンピュータにインストールされているアプリケーションの名前と実行ファイルのパスとを取得する（Ｓ１）。アプリケーション探索部２２は、ショートカット参照関数を用いることによって、アプリケーション設定情報格納部２１からアプリケーションの名前と実行ファイルのパスとを取得することができる。
【００５３】
図５は、ショートカットが持っている情報を示すダイアログの一例を示す図である。図５に示すように、アプリケーションのショートカットは、アプリケーション名「マインスイーパ」と、実行ファイルのパス「C:\WINDOWS\WINMINE.EXE」とを有している。アプリケーション探索部２２は、ショートカットを参照することによって、これらの情報を取得する。
【００５４】
次に、アプリケーション探索部２２は、アプリケーション設定情報格納部２１から取得したアプリケーションの名前と実行ファイルのパスとをアプリケーションリスト格納部２３に格納する（Ｓ２）。
【００５５】
図６は、アプリケーションリスト格納部２３に格納されたアプリケーションリストの一例を示す図である。図６に示すように、アプリケーションリスト格納部２３には、アプリケーション設定情報格納部２１から取得されたアプリケーション名（ウィンドウ名）と、実行ファイルのパスとが対応づけて格納される。たとえば、アプリケーション探索部２２がアプリケーション設定情報格納部２１からアプリケーション「電卓」に関する情報を取得する場合、アプリケーション「電卓」のショートカットを参照することによって、アプリケーション名「電卓」と、実行ファイルのパス「C:\WINDOWS\NOTEPAD.EXE」とを取得し、これらの情報を関連付けてアプリケーションリスト格納部２３に格納する。このようにして、スタートフォルダにあるショートカットに対応したアプリケーション名と実行ファイルのパスとが、アプリケーションリスト格納部２３に格納される。
【００５６】
次に、アプリケーション名表示部２４は、アプリケーションリスト格納部２３に格納されたアプリケーションリストを参照し、アプリケーション名の部分をリスト形式にして表示する（Ｓ３）。
【００５７】
図７は、アプリケーション名表示部２４によって表示されたアプリケーション名のリストの一例を示す図である。図７において、「未起動」タブは、未起動のアプリケーションのリストを表示する際に使用される。「起動済み」タブは、後述するように、既に起動されているアプリケーションのリストを表示する際に使用される。「その他のアプリケーション」ボタンは、リストに表示されなかったアプリケーション、たとえばショートカットが作成されていないアプリケーションに関する情報を表示して、そのアプリケーションの操作も行なえるようにしたものである。
【００５８】
次に、アプリケーション名表示部２４によって表示されたアプリケーション名の中から、ユーザによってアプリケーションが選択されたか否かが判定される（Ｓ４）。この選択は、図７に示すリストの中からアプリケーションが選択され、「次へ」ボタンがクリックされることによって行なわれる。アプリケーションの選択が行なわれていない場合には、「次へ」ボタンが有効にならない。なお、アプリケーションの選択は、一度に複数のアプリケーションが選択されても良い。
【００５９】
アプリケーションが選択されていなければ（Ｓ４，Ｎｏ）、アプリケーションが選択されるまで待機する。また、アプリケーションが選択されていれば（Ｓ４，Ｙｅｓ）、アプリケーション名表示部２４は、その選択されたアプリケーションに関する情報をアプリケーションリスト格納部２３へ送出する（Ｓ５）。
【００６０】
次に、アプリケーション名表示部２４から送出されたアプリケーションに関する情報と、アプリケーションリスト格納部２３に格納されたアプリケーションのリストとが照合され、選択されたアプリケーションの実行ファイルのパスが抽出されて、アプリケーション起動部２５へ送出される（Ｓ６）。
【００６１】
アプリケーション起動部２５は、選択されたアプリケーションの実行ファイルのパスを用いて、マクロ作成を行なうアプリケーションの起動を行なうと共に（Ｓ７）、操作記録部２６へ選択されたアプリケーションの実行ファイルのパスを送出する（Ｓ８）。操作記録部２６は、選択されたアプリケーションの起動操作を記録し（Ｓ９）、ユーザによる操作の記録を開始する。
【００６２】
選択されたアプリケーションの起動に応じて、ユーザがマウス操作またはキー操作を行なうと、操作記録部２６は、その操作を順次取得してＲＡＭ１２に記録する（Ｓ１０）。ユーザによってマクロ作成の終了指示がなければ（Ｓ１１，Ｎｏ）、ステップＳ１０へ戻ってユーザによる操作の取得を繰返す。
【００６３】
また、ユーザによってマクロ作成の終了指示があれば（Ｓ１１，Ｙｅｓ）、操作記録部２６はＲＡＭ１２に格納した操作記録をマクロ言語変換部２７へ送出する（Ｓ１２）。マクロ言語変換部２７は、操作記録部２６から送出された操作記録をマクロ言語に変換し、マクロファイルを生成してマクロファイル格納部２８に格納し（Ｓ１３）、処理を終了する。
【００６４】
ステップＳ９において記録される起動操作に対応したマクロ言語仕様の命令は、以下の通りである。
【００６５】
retval=EXEC"C:\\WINDOWS\\CALC.EXEC",""
この命令において、「ｒｅｔｖａｌ」はアプリケーション起動命令の実行が正常に行なわれたか否かを示す情報が入る変数である。「ＥＸＥＣ」は引数で与えられる実行ファイルを起動する命令である。「ＥＸＥＣ」に続く「"」で囲まれた部分が「ＥＸＥＣ」コマンドの引数であり、ステップＳ６において抽出されたアプリケーションの実行ファイルのパスが挿入される。なお、上記命令における最後の「""」は、もう１つの引数部分を示しており、最初の引数である実行ファイルが引数を必要とするときに、その引数が挿入される。
【００６６】
以上説明したように、本実施の形態におけるマクロ作成装置によれば、操作記録部２６が、アプリケーション名表示部２４によって表示されたアプリケーション名の中から選択されたアプリケーションを起動する起動操作を記録するようにした。したがって、マクロ作成時にユーザによる対象アプリケーションを起動するための操作が記録されないため、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することができるマクロを作成することが可能となった。
【００６７】
すなわち、マクロ作成からマクロ実行までの間に、アプリケーション、ＵＲＬ等の追加／削除や、画面表示設定の変更が行なわれ、リストやアイコンの構成、並び順、表示位置などが変わって、マクロ作成時の状態とマクロ実行時の状態との食い違いが生じていても、アプリケーションを確実に起動することができるマクロを作成することが可能となった。
【００６８】
（実施の形態２）
図８は、本発明の実施の形態２におけるマクロ作成装置の機能的構成の概略を示すブロック図である。なお、本実施の形態におけるマクロ作成装置の外観例および構成例は、図１に示す実施の形態１におけるマクロ作成装置の外観例および図２に示す実施の形態１におけるマクロ作成装置の構成例と同じである。したがって、詳細な説明は繰返さない。
【００６９】
このマクロ作成装置は、既に起動されているアプリケーションウィンドウの情報等が格納される起動済みアプリケーションウィンドウ集合格納部２９と、起動済みアプリケーションウィンドウ集合格納部２９に格納された情報を探索して起動済みアプリケーションウィンドウの情報を取得する起動済みアプリケーション探索部３０と、起動済みアプリケーション探索部３０によって取得された起動済みアプリケーションウィンドウの情報が保存される起動済みアプリケーションリスト格納部３１と、起動済みアプリケーションリスト格納部３１に保存されているアプリケーションのウィンドウタイトルを表示するウィンドウタイトル表示部３２と、ユーザによって選択されたウィンドウタイトルのウィンドウを最前面に移動させる起動済みアプリケーション最前面移動部３３と、ユーザの操作を記録する操作記録部２６と、操作記録部２６による操作記録をマクロ言語形式の命令に変換してマクロファイルを生成するマクロ言語変換部２７と、マクロ言語変換部２７によって生成されたマクロファイルが格納されるマクロファイル格納部２８とを含む。
【００７０】
図９は、本発明の実施の形態２におけるマクロ作成装置の処理手順を説明するためのフローチャートである。まず、起動済みアプリケーション探索部３０は、ウィンドウハンドル取得関数を用いて起動済みアプリケーションウィンドウ集合格納部２９を探索し、マクロ作成装置の表示画面上に開かれているウィンドウのハンドルを全て取得する（Ｓ２１）。このウィンドウのハンドルとは、ウィンドウ毎に唯一の値を持ったウィンドウを識別するための数値である。取得したウィンドウのハンドルに基づいて、そのウィンドウのタイトルやどのアプリケーションのウィンドウであるかといった情報を取得することができる。
【００７１】
起動済みアプリケーション探索部３０は、取得したウィンドウのハンドルとタイトルとを対応づけて、起動済みアプリケーションリスト格納部３１に格納する（Ｓ２２）。図１０は、起動済みアプリケーションリスト格納部３１に格納された起動済みアプリケーションリストの一例を示す図である。たとえば、起動済みのアプリケーションウィンドウ名「メモ帳」に対応して、ウィンドウハンドル「２７８９」が格納されている。なお、図１０は、表示画面に「メモ帳」、「電卓」、「マインスイーパ」および「フリーセル」のウィンドウが開かれていることを示している。
【００７２】
次に、ウィンドウタイトル表示部３２は、起動済みアプリケーションリスト格納部３１に格納された起動済みアプリケーションリストを参照して、起動済みのウィンドウのタイトルの一覧を表示する（Ｓ２３）。図１１は、ウィンドウタイトル表示部３２に表示された起動済みのウィンドウのタイトル一覧の一例を示す図である。「起動済み」タブがクリックされると、図１１に示すように起動済みウィンドウのタイトルが全て表示される。なお、この表示画面は、図１０に示す起動済みアプリケーションリストに対応している。
【００７３】
次に、ウィンドウタイトル表示部３２によって表示された起動済みのウィンドウタイトルの中から、ユーザによってウィンドウタイトルが選択されたか否かが判定される（Ｓ２４）。ユーザによってウィンドウタイトルが選択されていなければ（Ｓ２４，Ｎｏ）、ウィンドウタイトルが選択されるまで待機する。
【００７４】
また、ユーザによってウィンドウタイトルが選択されていれば（Ｓ２４，Ｙｅｓ）、選択されたウィンドウタイトルが起動済みアプリケーションリスト格納部３１へ送出される（Ｓ２５）。起動済みアプリケーションリスト格納部３１は、選択されたウィンドウタイトルに対応するウィンドウハンドルを起動済みアプリケーション最前面移動部３３へ送出する（Ｓ２６）。
【００７５】
起動済みアプリケーション最前面移動部３３は、起動済みアプリケーションリスト格納部３１から送出されたウィンドウハンドルを引数とし、ウィンドウを画面の最前面に表示させる関数を用いることによって、ユーザによって選択されたウィンドウを画面の最前面に移動させる（Ｓ２７）。なお、この関数については公知であるので、詳細な説明は行なわない。
【００７６】
図１２は、マクロ作成を開始する前の表示画面の一例を示す図である。この表示画面には、「メモ帳」、「電卓」、「マインスイーパ」および「フリーセル」のウィンドウが開かれており、「マインスイーパ」が最前面に表示されているところを示している。図１３は、ステップＳ２７の処理によって「電卓」のウィンドウが画面の最前面に移動されたところを示している。
【００７７】
次に、起動済みアプリケーションリスト格納部３１に格納された起動済みアプリケーションリストから、最前面に移動させたウィンドウのタイトルとアプリケーションのクラスとが取得されて、操作記録部２６へ送出される（Ｓ２８）。このアプリケーションのクラスは、ウィンドウのハンドルから得られ、ウィンドウがどのアプリケーションのものであるかを示す情報である。
【００７８】
操作記録部２６は、最前面に移動させたウィンドウのタイトルとアプリケーションのクラスとを受けると、そのウィンドウを画面の最前面に移動させる操作が行なわれたということをＲＡＭ１２に記録し（Ｓ２９）、ユーザによる操作の記録を開始する。
【００７９】
ユーザによって選択されたアプリケーションウィンドウの最前面への移動に応じて、ユーザがマウス操作またはキー操作を行なうと、操作記録部２６は、その操作を順次取得してＲＡＭ１２に記録する（Ｓ３０）。ユーザによってマクロ作成の終了指示がなければ（Ｓ３１，Ｎｏ）、ステップＳ３０へ戻ってユーザによる操作の取得を繰返す。
【００８０】
また、ユーザによってマクロ作成の終了指示があれば（Ｓ３１，Ｙｅｓ）、操作記録部２６はＲＡＭ１２に格納した操作記録をマクロ言語変換部２７へ送出する（Ｓ３２）。マクロ言語変換部２７は、操作記録部２６から送出された操作記録をマクロ言語に変換し、マクロファイルを生成してマクロファイル格納部２８に格納し（Ｓ３３）、処理を終了する。
【００８１】
ステップＳ２９において記録されるウィンドウを最前面に移動させる操作に対応したマクロ言語仕様の命令は、以下の通りである。
【００８２】
hwnd=FINDWINDOWEX"VISIOA","Visio 2000 - [図面1.vsd:CODE]",FW#LEFT
この命令において、「ｈｗｎｄ」は探し出されたウィンドウのハンドルが入る変数である。「ＦＩＮＤＷＩＮＤＯＷＥＸ］は、引数によって指定されたウィンドウを探し出すための、マクロ言語仕様に定められたコマンドである。「ＦＩＮＤＷＩＮＤＯＷＥＸ」に続く「"」で囲まれた部分が「ＦＩＮＤＷＩＮＤＯＷＥＸ」コマンドの最初の引数であり、ステップＳ２８において抽出されたアプリケーションのクラスが挿入される。
【００８３】
２番目の引数には、探し出すウィンドウのタイトルが挿入される。３番目の引数は、タイトルの比較を文字列の左側から行なうことを示している。マクロ実行時にこの命令が実行されると、最初の引数と同じ種類のアプリケーションで、２番目のタイトルに類似したタイトルを持ったウィンドウが探し出される。なお、このウィンドウの探索の詳細については後述する。
【００８４】
以上説明したように、本実施の形態におけるマクロ作成装置によれば、操作記録部２６が、ウィンドウタイトル表示部３２によって表示されたウィンドウタイトルの中から選択されたウィンドウを最前面に移動する操作を記録するようにした。したがって、実施の形態１におけるマクロ作成装置と同様に、マクロ作成時にユーザによる対象アプリケーションを起動するための操作が記録されないため、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することができるマクロを作成することが可能となった。
【００８５】
（実施の形態３）
図１４は、本発明の実施の形態３におけるマクロ実行装置の機能的構成の概略を示すブロック図である。なお、本実施の形態におけるマクロ実行装置の外観例および構成例は、図１に示す実施の形態１におけるマクロ作成装置の外観例および図２に示す実施の形態１におけるマクロ作成装置の構成例と同じである。したがって、詳細な説明は繰返さない。
【００８６】
このマクロ実行装置はＣＰＵ１０がマクロ実行プログラムを実行することによって実現され、マクロ命令とプログラムコードとの対応を示す表が格納されるマクロ命令・プログラムコード対応表格納部４１と、マクロ命令・プログラムコード対応表を参照して、マクロファイル格納部２８に格納されたマクロファイルのマクロ命令をプログラムコードに変換するマクロ言語変換部４２と、マクロ言語変換部４２によって生成されたプログラムコードを実行する実行部４３と、起動済みアプリケーションウィンドウ集合格納部２９を参照し、マクロ命令に記述された引数に応じて対象となるウィンドウを特定する対象ウィンドウ特定部４４とを含む。
【００８７】
図１５は、本発明の実施の形態３におけるマクロ実行装置の処理手順を説明するためのフローチャートである。まず、ユーザによって実行するマクロファイルが選択されると、マクロ言語変換部４２はマクロファイル格納部２８からユーザによって選択されたマクロファイルを読出す（Ｓ４１）。
【００８８】
マクロ言語変換部４２は、マクロファイルからマクロ言語形式の命令を１行読込み（Ｓ４２）、マクロ命令・プログラムコード対応表格納部４１に格納されたマクロ命令・プログラムコード対応表を参照して、マクロ命令をコンピュータが実行できる形式（プログラムコード）に変換する（Ｓ４３）。なお、マクロ命令・プログラムコード対応表には、マクロ命令と、そのマクロ命令を実際にコンピュータ上で実行できるように記述されたプログラム・コードとの組が予め登録されている。
【００８９】
次に、ステップＳ４４において、プログラム・コードに変換されるマクロ命令がウィンドウを探し出す命令であるか否かが判定される。ウィンドウを探し出す命令であれば（Ｓ４４，Ｙｅｓ）、そのマクロ命令の引数が対象ウィンドウ特定部４４に送出される（Ｓ４５）。すなわち、上述した「ＦＩＮＤＷＩＮＤＯＷＥＸ」の引数が対象ウィンドウ特定部４４に送出される。対象ウィンドウ特定部４４は、送出された引数であるタイトルに最も近似したタイトルのウィンドウのハンドルを受取り（Ｓ４６）、ステップＳ４８へ進む。なお、ステップＳ４６の処理の詳細は後述する。
【００９０】
ステップＳ４４においてマクロ命令がウィンドウを探し出す命令でないと判定された場合には（Ｓ４４，Ｎｏ）、実行部４３がマクロ言語変換部４２によってプログラムコードに変換された命令を実行して（Ｓ４７）、ステップＳ４８へ進む。
【００９１】
最後に、ステップＳ４８において、マクロ命令が全て変換されたか否かが判定される（Ｓ４８）。変換されていないマクロ命令があれば（Ｓ４８，Ｎｏ）、ステップＳ４２へ戻って以降の処理を繰返す。また、マクロ命令が全て変換されていれば（Ｓ４８，Ｙｅｓ）、処理を終了する。
【００９２】
図１６は、図１５のステップＳ４６の処理を説明するための図である。図１６に示すように、マクロ命令「ＦＩＮＤＷＩＮＤＯＷＥＸ」の引数のタイトルが「Visio 2000 - [図面1.vsd:CODE]」であり、画面上のウィンドウのタイトルが「Visio 2000 - [図面3.vsd:フローチャートCODE]」である。最も近似したタイトルであるか否かを判定するために、それぞれのタイトルを前方および後方から比較し、連続して完全一致する文字数をそれぞれカウントする。そして、前方からの一致文字数と、後方からの一致文字数との和をスコアとする。
【００９３】
図１７は、図１５のステップＳ４６の処理手順を詳細に説明するためのフローチャートである。まず、対象ウィンドウ特定部４４は、ウィンドウハンドル取得関数を用いて、起動済みアプリケーションウィンドウ集合格納部２９に格納されている起動済みアプリケーションウィンドウの中から、画面上に表示されているウィンドウのハンドルを全て取得し、ハンドルの配列としてＲＡＭ１２に記憶する（Ｓ６１）。
【００９４】
次に、対象ウィンドウ特定部４４は、ハンドルの配列の中でウィンドウタイトルの類似度の評価を行なっていないものがあるか否かを判定する（Ｓ６２）。類似度の評価を行なっていないハンドルがあれば（Ｓ６２，Ｙｅｓ）、そのハンドルに対応したウィンドウのアプリケーションの種類と、マクロ命令の引数であるタイトルに対応したアプリケーションの種類とを比較して、アプリケーションの種類が同じであるか否かが判定される（Ｓ６３）。アプリケーションの種類の取得は、マクロ命令「ＦＩＮＤＷＩＮＤＯＷＥＸ」の最初の引数とハンドルとを引数としたアプリケーションを取得するための関数の返り値を参照することによって行なわれる。この関数については公知であるので、詳細な説明は行なわない。
【００９５】
アプリケーションの種類が異なれば（Ｓ６４，Ｎｏ）、ステップＳ６２へ戻って別のハンドルに対する処理を行なう。また、アプリケーションの種類が同じであれば（Ｓ６４，Ｙｅｓ）、マクロ命令「ＦＩＮＤＷＩＮＤＯＷＥＸ」の２番目の引数であるタイトルと、比較対象のウィンドウハンドルのタイトルとを前方から比較して、一致文字数をカウントする（Ｓ６５）。この一致文字数のカウントは、それぞれのタイトルの文字列の文字を先頭から空白も含めて１文字づつ比較し、何文字目まで一致しているかによって行なわれる。たとえば、図１６に示すタイトルを比較すると、先頭から一致している文字列が「Visio 2000 - [図面」となり、一致文字列数が１６となる。
【００９６】
次に、マクロ命令「ＦＩＮＤＷＩＮＤＯＷＥＸ」の２番目の引数であるタイトルと、比較対象のウィンドウハンドルのタイトルとを後方から比較して、一致文字数をカウントする（Ｓ６６）。たとえば、図１６に示すタイトルを比較すると、後方から一致している文字列が「CODE]」となり、一致文字列数が５となる。
【００９７】
対象ウィンドウ特定部４４は、前方からの一致文字数列と、後方からの一致文字列数との和を算出して、それをタイトルの類似度を表すスコアとする（Ｓ６７）。このようにして、前方と後方とからタイトルを比較することによって、異なる部分が前方または後方に偏っている場合であっても、タイトルの比較を正確に行なうことができる。
【００９８】
次に、対象ウィンドウ特定部４４は、ステップＳ６７において算出されたタイトルのスコアが、ＲＡＭ１２に保存されているそれまで最も類似度が大きかったタイトルのスコアよりも大きいか否かを判定する（Ｓ６８）。算出されたスコアが、ＲＡＭ１２に保存されているスコアよりも大きくない場合には（Ｓ６８，Ｎｏ）、ステップＳ６２に戻って別のハンドルに対する処理を行なう。また、算出されたスコアが、ＲＡＭ１２に保存されているスコアよりも大きければ（Ｓ６８，Ｙｅｓ）、ＲＡＭ１２に保存されているハンドルとスコアとを、現在のハンドルとスコアとに置換え（Ｓ６９）、ステップＳ６２に戻って別のハンドルに対する処理を行なう。
【００９９】
ステップＳ６２において、類似度の評価を行なっていないハンドルがなければ（Ｓ６２，Ｎｏ）、ＲＡＭ１２に保存されているハンドルが最も類似したタイトルを持つウィンドウのものであるとし、上述した返り値「ｈｗｎｄ」にそのハンドルを代入する。なお、最高のスコアが得られなかった場合には、返り値「ｈｗｎｄ」として空の値が返されることになる。これは、マクロ作成時に操作対象としたウィンドウが、マクロ実行時に画面上に表示されていなかったことを示しており、マクロ実行時のエラー要因となる。
【０１００】
以上説明したように、本実施の形態におけるマクロ実行装置によれば、対象ウィンドウ特定部４４がウィンドウタイトルを比較する際に、前方と後方とからタイトルを比較してスコアを算出するようにしたので、異なる部分が前方または後方に偏っている場合であっても、タイトルの比較を正確に行なうことが可能となった。すなわち、ウィンドウタイトルにファイル名や日付等が入るアプリケーションウィンドウに対するマクロを生成して実行する場合であっても、操作対象ウィンドウを正確に識別することができ、マクロの実行を確実に行なうことが可能となった。
【０１０１】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１０２】
【発明の効果】
本発明のある局面によれば、実行手段が、特定手段によって特定されたウィンドウのハンドルに基づいてマクロを実行するので、操作対象ウィンドウを正確に識別することができ、マクロの実行を確実に行なうことが可能となった。
また、取得手段が、第１の比較手段によってカウントされた文字数と、第２の比較手段によってカウントされた文字数とを加算したスコアに基づいて、最も類似したタイトルのウィンドウを取得するので、タイトルの異なる部分が前方または後方に偏っている場合であっても、タイトルの比較を正確に行なうことが可能となった。
また、第２の変換手段が、選択手段によって選択されたアプリケーションを起動する操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずアプリケーションを確実に起動することが可能となった。
【０１０３】
また、第２の変換手段が、アプリケーション名に対応した実行ファイルのパスを参照して、アプリケーションを起動する操作をマクロ言語に変換するので、アプリケーションの起動を確実に行なうようにマクロを作成することが可能となった。
【０１０４】
また、起動手段が、選択されたアプリケーション名に対応した実行ファイルのパスを参照して、アプリケーションを起動するので、ユーザがアプリケーションの起動操作を行なう必要がなくなり、操作性を向上させることが可能となった。
【０１０５】
また、第２の変換手段が、選択手段によって選択されたアプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、マクロにコンピュータ環境の影響を受ける操作が記録されなくなり、マクロ実行時におけるウィンドウの状況にかかわらずウィンドウを確実に最前面に移動させることが可能となった。
【０１０６】
また、第２の変換手段が、ウィンドウタイトルに対応したウィンドウハンドルを参照して、アプリケーションのウィンドウを最前面に移動させる操作をマクロ言語に変換するので、アプリケーションウィンドウの最前面への移動を確実に行なうことが可能となった。
【０１０７】
また、移動手段が、選択されたウィンドウタイトルに対応したウィンドウハンドルを参照して、アプリケーションのウィンドウを最前面に移動させるので、ユーザがアプリケーションウィンドウを最前面に移動させる操作を行なう必要がなくなり、操作性を向上させることが可能となった。
【図面の簡単な説明】
【図１】  本発明の実施の形態１におけるマクロ作成装置の外観例を示す図である。
【図２】  本発明の実施の形態１におけるマクロ作成装置の構成例を示すブロック図である。
【図３】  本発明の実施の形態１におけるマクロ作成装置の機能的構成の概略を示すブロック図である。
【図４】  本発明の実施の形態１におけるマクロ作成装置の処理手順を説明するためのフローチャートである。
【図５】  ショートカットが持っている情報を示すダイアログの一例を示す図である。
【図６】  アプリケーションリスト格納部２３に格納されたアプリケーションリストの一例を示す図である。
【図７】  アプリケーション名表示部２４によって表示されたアプリケーション名のリストの一例を示す図である。
【図８】  本発明の実施の形態２におけるマクロ作成装置の機能的構成の概略を示すブロック図である。
【図９】  本発明の実施の形態２におけるマクロ作成装置の処理手順を説明するためのフローチャートである。
【図１０】  起動済みアプリケーションリスト格納部３１に格納された起動済みアプリケーションリストの一例を示す図である。
【図１１】  ウィンドウタイトル表示部３２に表示された起動済みのウィンドウのタイトル一覧の一例を示す図である。
【図１２】  マクロ作成を開始する前の表示画面の一例を示す図である。
【図１３】  ステップＳ２７の処理によって「電卓」のウィンドウが画面の最前面に移動されたところを示す図である。
【図１４】  本発明の実施の形態３におけるマクロ実行装置の機能的構成の概略を示すブロック図である。
【図１５】  本発明の実施の形態３におけるマクロ実行装置の処理手順を説明するためのフローチャートである。
【図１６】  図１５のステップＳ４６の処理を説明するための図である。
【図１７】  図１５のステップＳ４６の処理手順を詳細に説明するためのフローチャートである。
【符号の説明】
１  コンピュータ本体、２  ディスプレイ装置、３  ＦＤドライブ、４  ＦＤ、５  キーボード、６  マウス、７  ＣＤ−ＲＯＭ装置、８  ＣＤ−ＲＯＭ、９ネットワーク通信装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  ハードディスク、２１  アプリケーション設定情報格納部、２２  アプリケーション探索部、２３  アプリケーションリスト格納部、２４  アプリケーション名表示部、２５  アプリケーション起動部、２６  操作記録部、２７  マクロ言語変換部、２８  マクロファイル格納部、２９  起動済みアプリケーションウィンドウ集合格納部、３０  起動済みアプリケーション探索部、３１  起動済みアプリケーションリスト格納部、３２  ウィンドウタイトル表示部、３３  起動済みアプリケーション最前面移動部、４１  マクロ命令・プログラムコード対応表格納部、４２  マクロ言語変換部、４３  実行部、４４  対象ウィンドウ特定部。
【図１】
0003833905.tif 000002
【図２】
0003833905.tif 000003
【図３】
0003833905.tif 000004
【図４】
0003833905.tif 000005
【図５】
0003833905.tif 000006
【図６】
0003833905.tif 000007
【図７】
0003833905.tif 000008
【図８】
0003833905.tif 000009
【図９】
0003833905.tif 000010
【図１０】
0003833905.tif 000011
【図１１】
0003833905.tif 000012
【図１２】
0003833905.tif 000013
【図１３】
0003833905.tif 000014
【図１４】
0003833905.tif 000015
【図１５】
0003833905.tif 000016
【図１６】
0003833905.tif 000017
【図１７】
0003833905.tif 000018