(57)【要約】【課題】表現力の高い複数の形式でマクロの内容を視覚化するマクロプログラムの構造化システム等を提供すること。【解決手段】プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断する手段と、引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録する手段と、リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換手段とを備える。【選択図】図１
2010182060.tif 000002
【特許請求の範囲】
【請求項１】
プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断する手段と、
前記引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録する手段と、
リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換手段とを備えることを特徴とするマクロプログラムの構造化システム。
【請求項２】
前記リソースデータは、マクロに記述されたシンボル名から利用者が理解できる名前を引き当てるためのテキストを格納するリソースデータとしてあらかじめ準備しておくことを特徴とする請求項１記載のマクロプログラムの構造化システム。
【請求項３】
プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断するステップと、
前記引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録するステップと、
リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換ステップとを有することを特徴とするマクロプログラムの構造化方法。
【請求項４】
前記リソースデータを、マクロに記述されたシンボル名から利用者が理解できる名前を引き当てるためのテキストを格納するリソースデータとしてあらかじめ準備しておくステップを有することを特徴とする請求項３記載のマクロプログラムの構造化方法。
【請求項５】
コンピュータに、プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断する処理と、
前記引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録する処理と、
リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換処理とを実行させることを特徴とするプログラム。
【請求項６】
前記リソースデータは、マクロに記述されたシンボル名から利用者が理解できる名前を引き当てるためのテキストを格納するリソースデータとしてあらかじめ準備されていることを特徴とする請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム上のコマンド実行手順を記録して自動生成される、いわゆるマクロの記録技術に関する。
【背景技術】
【０００２】
マクロは利用者によるカスタムプログラミングを想定し専用のプログラム言語を用いて記述されている。
このため、コマンド実行手順の記録によるマクロの自動生成だけを対象にした場合でも、プログラム言語そのままのソースコードが記録されていた。
【０００３】
自動生成されたマクロの内容を表示（もしくは印刷）しても、プログラムコードそのままの非構造なテキスト形式で出力されるだけであり、カスタムプログラミングを必要とせずプログラミング言語を知る必要のない利用者にとっては、マクロを実行して処理される内容を理解することが困難であった。
【０００４】
このような方式で記録されたマクロを視覚化する方法に関して言えば、プログラム言語仕様に基づくキーワードの語彙解析処理を実装してＲｉｔｃｈＴｅｘｔＦｏｒｍａｔなどへ変換するなどで、フォントや色を変更することは可能であった。
【０００５】
関連技術として、ソースプログラムの論理構造を表すデータ構造、ＸＭＬのドキュメントオブジェクトモデルに変換し、テキストデータに変換して格納する技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１８２９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の関連技術は、あくまで文字列そのものを表現することしかできず、例えばプログラムの実行ステップをブロック図化したり、表形式で一覧出力したりというプログラム言語を知らない利用者が理解しやすい表現構造への加工を行うには、プログラム言語の構文と構造を解析し定型のイメージに視覚化するための専用プログラムを開発する必要があった。
【０００８】
本発明は、以上のような課題を解決するためになされたもので、表現力の高い複数の形式でマクロの内容を視覚化するマクロプログラムの構造化システムおよびマクロプログラムの構造化方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のマクロプログラムの構造化システムは、プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断する手段と、
前記引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録する手段と、
リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換手段とを備えることを特徴とする。
【００１０】
また、本発明のマクロプログラムの構造化方法は、プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断するステップと、
前記引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録するステップと、
リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換ステップとを有することを特徴とする。
【００１１】
また、本発明のプログラムは、コンピュータに、プログラム上の各コマンドに対応するマクロとマクロへの引数構造体の仕様を記述したメタデータを参照し、引数構造体の型を判断する処理と、
前記引数構造体の型に基づいて、適切なテキスト変換処理を行ってＸＭＬ要素に記録する処理と、
リソースデータを照会してＸＭＬ要素に記述されたシンボル名に対応するテキストを引き当て、利用者が理解できる名前解決を行うＸＳＬＴ変換処理とを実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、表現力の高い複数の形式でマクロの内容を視覚化することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係るシステム構成を示す図である。
【図２】本発明の実施の形態に係るマクロ記録の実施例の動作を示すフローチャートである。
【図３】本発明の実施の形態に係るマクロ仕様メタデータ１２０に記述されたメタデータ情報１２１の例を示す図である。
【図４】本発明の実施の形態に係るマクロソースコード１３１のＸＭＬイメージ例を示す図である。
【図５】本発明の実施の形態に係るマクロファイルの視覚化の実施例の動作を示すフローチャートである。
【図６】本発明の実施の形態に係る名前リソース１５０の例を示す図である。
【図７】本発明の実施の形態に係るマクロソースコード１３１と名前リソース１５０の関係を示す図である。
【図８】本発明の実施の形態に係るＨＴＭＬでの出力形式が選択された場合のマクロ変換結果１６０の例を示す図である。
【図９】本発明の実施の形態に係る図８の例にあるマクロ変換結果１６０をＷｅｂブラウザで表示した場合の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１に示す本実施の形態におけるマクロプログラムの構造化システムは、コンピュータ端末やプリンタを指す入出力装置１００と、利用者に提供するコマンドの実行手順を記録してマクロを自動生成できるプログラム１１０と、コマンドの実行ステップをマクロとして構築するための仕様が記述されたマクロ仕様メタデータ１２０と、プログラム１１０がマクロ記録による生成した結果であるマクロファイル１３０と、マクロファイル１３０の記述表現を視覚化用のフォーマットへ変換するためのスタイルと手順をＸＳＬで記述した視覚化スタイルシート１４０と、マクロ記述のシンボル名に対応する名前テキストを格納する名前リソース１５０と、視覚化スタイルシート１４０を用いてマクロファイル１３０を変換した結果であるマクロ変換結果１６０から構成される。
なお、プログラム１１０は図示しない情報処理装置に組み込まれてその情報処理装置のＣＰＵ等の制御部により制御されて動作することであってもよい。
【００１５】
プログラム１１０は、利用者の操作対象となる画面を制御し実行コマンドを提供するユーザインタフェース手段１１１と、ユーザインタフェース手段１１１から利用者が要求したコマンドを解析するコマンド解析手段１１２と、要求されたコマンドの実行処理を行いユーザインタフェース手段１１１へ結果を返すコマンド実行手段１１３と、コマンド解析手段１１２で得られたコマンド名や実行引数などの情報からマクロの実行ステップとなるＸＭＬデータを構築生成するマクロＸＭＬ構築手段１１４と、構築生成されたＸＭＬデータをマクロ実行単位に記録しマクロファイル１３０へ保存するマクロ記録手段１１５と、マクロファイル１３０と視覚化スタイルシート１４０を入力としてマクロ変換結果１６０を出力するＸＳＬＴ変換手段とから構成される。
【００１６】
視覚化スタイルシート１４０は、マクロファイル１３０の記述をマクロ変換結果１６０へ変換するためのマクロ記述変換手段１４１と、マクロ記述のシンボル名をキーにして名前リソース１５０から名前テキストを引き当てる名前解決手段１４２とから構成される。
【００１７】
プログラム１１０は、利用者に提供するマクロ変換結果１６０の種類に応じた画面上の出力形式選択オプションと、本オプションの種類に対応する複数の視覚化スタイルシート１４０をあらかじめ備えている。
【００１８】
次に、本実施の形態の動作について詳細に説明する。
まず最初に、マクロ記録の実施例について、図１及び図２のフローチャートを参照して説明する。
【００１９】
プログラム１１０の利用者は、ユーザインタフェース制御手段１１１を介して必要な引数情報を入力しコマンド実行を要求する。ユーザインタフェース制御手段１１１はコマンド解析手段１１２に対して実行するコマンドと引数データを供給する。引数データはコマンドと１対１の関係であり構造体型の形式を持つ。コマンド解析手段１１２では、コマンドに対するマクロ名と引数情報の型を示すシンボル名を認識する。コマンド解析手段１１２はマクロＸＭＬ構築手段１１４に対してマクロ名と引数型シンボル名と引数データを供給する。
【００２０】
マクロＸＭＬ構築手段１１４は、まず引数型シンボル名をＸＭＬ要素名として持つ要素ノードオブジェクトを生成して保持する（ステップＡ１）。ここで図３に、ステップＡ１で読み込まれるマクロ仕様メタデータ１２０に記述されたメタデータ情報１２１の例を示す。メタデータ情報１２１はＸＭＬで記述されており、element要素は引数型の定義ブロックを示し、name属性が引数型シンボル名を示す。本例では"CreateTableArgument"が引数型シンボル名となる。attribute要素には引数型を構成する変数名と型が定義される。例えば"tableName"をname属性に持つattribute要素を見た場合、引数型上の対応する構成変数名は"tableName"であり、その型は"string"で示される文字列型であると認識される。
【００２１】
マクロＸＭＬ構築手段１１４はステップＡ１に続いて、マクロ仕様メタデータ１２０から引数型シンボル名をキーにして対応するメタデータ情報１２１を読み込む（ステップＡ２）。続いて、メタデータ情報１２１から引数型を構成する各変数の型情報を入手する（ステップＡ３）。次に、入手した型情報に基づいて引数データ上の変数値を文字列へ変換する（ステップＡ４）。次に、メタデータ情報１２１に記述された引数型を構成する各変数に対しての属性名と、ステップＡ４で変換した文字列を属性への値として、ステップＡ１で生成した要素ノードオブジェクトにＸＭＬ属性として追加する（ステップＡ５）。次に、引数型を構成する各変数を全て処理したかを判断する（ステップＡ６）。引数型を構成する各変数を全て処理していた場合、マクロ記録手段１１５へ完成した要素ノードオブジェクトを供給する。一方、引数型を構成する各変数を全て処理できていない場合、ステップＡ３からステップＡ５を繰り返し処理する。
【００２２】
マクロ記録手段１１５は、マクロの記録開始時にあらかじめ生成しておいたマクロ実行単位のＸＭＬドキュメントオブジェクトに対して、マクロＸＭＬ構築手段１１４から供給された要素ノードオブジェクトを追加する（ステップＡ７）。マクロ記録手段１１５は、利用者からマクロ記録の終了指示を受けてＸＭＬドキュメントオブジェクトをマクロファイルへ保存する。
【００２３】
図４に、マクロＸＭＬ構築手段１１４の結果として得られてマクロファイル１３０に追加されるマクロソースコード１３１のＸＭＬイメージ例を示す。
【００２４】
続いて、マクロファイルの視覚化の実施例について、図１及び図５のフローチャートを参照して説明する。
【００２５】
プログラム１１０の利用者は、ユーザインタフェース制御手段１１１を介してマクロファイルの内容を視覚化するためのコマンドを要求する。このときユーザインタフェース制御手段１１１では、プログラム１１０が提供している出力形式を選択することを利用者に促す。コマンド解析手段１１２は利用者からのコマンド要求がマクロファイルの視覚化であることを識別し、ＸＳＬＴ変換手段１１６へマクロファイル名と出力形式情報を供給する。ＸＳＬＴ変換手段１１６は、マクロファイル１３０と出力形式情報と対になる視覚化スタイルシート１４０を入力ファイルとしてＸＳＬＴ変換を行い、その結果としてマクロ変換結果１６０を出力する。
【００２６】
ＸＳＬＴ変換手段１１６がＸＳＬＴ変換を行うと、視覚化スタイルシート１４０に記述されたマクロ記述変換手段１４１が実行される。マクロ記述変換手段１４１は、名前リソース１５０をＸＭＬドキュメントオブジェクトとして内部変数に展開する（ステップＢ１）。ここで名前リソース１５０の例を図６に示す。次に、図４に示したマクロソースコード１３１の例にあるMacro要素のname属性の値と、内部変数に展開済みである名前リソース１５０のMacro要素のname属性の値とが一致するかを調べる（ステップＢ２およびステップＢ３）。name属性の値が一致した場合、名前リソース１５０のMacro要素への参照パスが名前解決手段１４２へ与えられる。一方、ステップＢ２の比較結果が一致しない場合には、現在の処理対象であるマクロソースコード１３１上のMacro要素の解析を終了する。
【００２７】
名前解決手段１４２は、図７に示すマクロソースコード１３１と名前リソース１５０の関係によって、マクロソースコード１３１のシンボル名から名前リソース１５０に定義されている名前文字列を引き当てる（ステップＢ４）。
【００２８】
図８に、ＨＴＭＬでの出力形式が選択された場合のマクロ変換結果１６０の例を示す。
【００２９】
図９に、図８の例にあるマクロ変換結果１６０をＷｅｂブラウザで表示した場合の例を示す。
【００３０】
上記の本実施の形態によれば、以下の効果がある。
第１の効果は、マクロの内容を表示（もしくは印刷）出力する際に、ＸＳＬＴ技術を用いた構造変換を行うことが可能になることである。この結果ＨＴＭＬ、ＳＶＧ、ＸＳＬ−Ｆｏｒｍａｔｔｉｎｇ−Ｏｂｊｅｃｔ等、表現力の高い複数の形式でマクロの内容を視覚化することができる。
その理由は、コマンド実行情報に対応するマクロ仕様のメタデータ情報をあらかじめ定義し、これに基づいてコマンド実行引数データのテキスト変換を行い、マクロのソースコードをＸＭＬ形式で記録しているためである。
【００３１】
第２の効果は、プログラムのコマンド実行手順を記録して自動生成されるマクロに関して、プログラム言語を知る必要のない利用者が、マクロを実行して処理される内容を理解できるようになることである。
その理由は、マクロの内容を表示（もしくは印刷）出力する際のＸＳＬＴ構造変換処理において、マクロに記述されたシンボル名を利用者が理解できる名前へ変換して出力しているためである。
【００３２】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
【符号の説明】
【００３３】
１００    入出力装置
１１０    プログラム
１２０    マクロ仕様メタデータ
１３０    マクロファイル
１４０    視覚化スタイルシート
１５０    名前リソース
１６０    マクロ変換結果
【図１】
2010182060.tif 000003
【図２】
2010182060.tif 000004
【図３】
2010182060.tif 000005
【図４】
2010182060.tif 000006
【図５】
2010182060.tif 000007
【図６】
2010182060.tif 000008
【図７】
2010182060.tif 000009
【図８】
2010182060.tif 000010
【図９】
2010182060.tif 000011