(57)【要約】【課題】表形式データに応じた入力画面を容易に生成できる入力画面生成装置を提供する。【解決手段】入力画面生成装置１は、複数のセルにそれぞれ設定されたフィールドとフィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部１１と、表形式データを用いて、入力フィールドと、入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成部１４と、生成部１４によって生成された入力画面を出力する出力部１５とを備える。【選択図】図１
2019091383.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルにそれぞれ設定されたフィールドと当該フィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部と、
前記表形式データを用いて、入力フィールドと、当該入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成部と、
前記生成部によって生成された入力画面を出力する出力部と、を備えた入力画面生成装置。
【請求項２】
前記表形式データのフィールドには、データ型も設定されており、
前記生成部は、入力画面に含まれる入力フィールドのデータ型を、当該入力フィールドに対応する表形式データのフィールドに設定されているデータ型に設定する、請求項１記載の入力画面生成装置。
【請求項３】
前記生成部は、入力画面の各入力フィールドに対応するデータベーススキーマを、当該入力フィールドに対応する表形式データにおけるフィールド及びフィールド名の少なくとも一方を用いて生成し、
前記出力部は、前記生成部によって生成されたデータベーススキーマを蓄積する、請求項１または請求項２記載の入力画面生成装置。
【請求項４】
前記生成部は、データベーススキーマにおいて、入力フィールドに対応するサイズを、当該入力フィールドに対応する表形式データにおけるフィールドの長さに応じて設定する、請求項３記載の入力画面生成装置。
【請求項５】
前記生成部は、入力画面に含まれる入力フィールドのデータ型に応じて、当該入力フィールドがフォーカスされたときに出力される入力補助ツールを設定する、請求項２記載の入力画面生成装置。
【請求項６】
前記生成部は、入力画面に含まれる入力フィールドのデータ型が日付データ型である場合には、カレンダーの入力補助ツールを設定する、請求項５記載の入力画面生成装置。
【請求項７】
前記生成部は、入力画面に含まれる入力フィールドのデータ型が金額データ型または数値データ型である場合には、テンキーの入力補助ツールを設定する、請求項５または請求項６記載の入力画面生成装置。
【請求項８】
前記表形式データにおける帳票の領域を検知する検知部をさらに備え、
前記生成部は、前記検知部によって検知された帳票の領域に対応する入力画面を生成する、請求項１から請求項７のいずれか記載の入力画面生成装置。
【請求項９】
前記検知部によって検知された帳票の領域があらかじめ決められた大きさを超えている場合に、警告を出力する警告出力部をさらに備えた、請求項８記載の入力画面生成装置。
【請求項１０】
前記検知部は、前記表形式データに含まれる、情報が入力されているセルのうち、あらかじめ決められた条件を満たすセルは帳票の領域に含めない、請求項８または請求項９記載の入力画面生成装置。
【請求項１１】
前記生成部は、前記表形式データのレイアウトに応じた入力画面を生成する、請求項１から請求項１０のいずれか記載の入力画面生成装置。
【請求項１２】
前記生成部は、前記表形式データのレイアウトと関係しない、モバイル機器用の入力画面をも生成する、請求項１１記載の入力画面生成装置。
【請求項１３】
前記生成部は、データベースにアクセスし、入力画面に含まれるフィールド名に対応するフィールドが前記データベースに存在する場合に、入力画面において、当該フィールド名に対応する入力フィールドに、当該データベースに存在する前記フィールドの各情報が入力のための選択肢として表示されるように設定する、請求項１から請求項１２のいずれか記載の入力画面生成装置。
【請求項１４】
複数のセルにそれぞれ設定されたフィールドと当該フィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部と、生成部と、出力部とを用いて処理される入力画面精製方法であって、
前記生成部が、前記表形式データを用いて、入力フィールドと、当該入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成ステップと、
前記出力部が、前記生成ステップにおいて生成された入力画面を出力する出力ステップと、を備えた入力画面生成方法。
【請求項１５】
複数のセルにそれぞれ設定されたフィールドと当該フィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部にアクセス可能なコンピュータを、
前記表形式データを用いて、入力フィールドと、当該入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成部、
前記生成部によって生成された入力画面を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセルを有する表形式データを用いて入力画面を生成する入力画面生成装置等に関する。
【背景技術】
【０００２】
従来、帳票等のデータを専用の入力画面を用いて入力することが行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２０４０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そのような入力画面を用いることによって、入力が要求される情報を適切に容易に入力することができるというメリットがある。一方、そのような入力画面は、通常、帳票システムを構築する専門家が作成するため、例えば、新たな帳票に関する入力画面を作成したい場合には、そのような専門家に依頼する必要があり、容易に作成することができないという問題があった。
【０００５】
本発明は、上記課題を解決するためになされたものであり、帳票のデータを入力するための入力画面を容易に作成することができる入力画面生成装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による入力画面生成装置は、複数のセルにそれぞれ設定されたフィールドとフィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部と、表形式データを用いて、入力フィールドと、入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成部と、生成部によって生成された入力画面を出力する出力部と、を備えたものである。
このような構成により、例えば、スプレッドシート等のアプリケーションを用いて作成された、フィールドとフィールド名とを有する表形式データを用いて、帳票のデータの入力画面が生成されることになる。したがって、帳票システムを構築する専門家でないユーザ、すなわち専門的な知識のないユーザであっても、その表形式データを作ることによって、それに応じた入力画面を容易に作成することができるようになる。
【０００７】
また、本発明による入力画面生成装置では、表形式データのフィールドには、データ型も設定されており、生成部は、入力画面に含まれる入力フィールドのデータ型を、入力フィールドに対応する表形式データのフィールドに設定されているデータ型に設定してもよい。
このような構成により、表形式データに設定されているデータ型に応じて、自動的に入力画面の入力フィールドにデータ型が設定されるようになる。したがって、ユーザが、入力画面の入力フィールドにおいて、手動でデータ型を設定する必要がなくなる。
【０００８】
また、本発明による入力画面生成装置では、生成部は、入力画面の各入力フィールドに対応するデータベーススキーマを、入力フィールドに対応する表形式データにおけるフィールド及びフィールド名の少なくとも一方を用いて生成し、出力部は、生成部によって生成されたデータベーススキーマを蓄積してもよい。
このような構成により、生成された入力画面の各入力フィールドに対応するデータベーススキーマを自動的に生成することができるようになる。したがって、そのデータベーススキーマを、生成された入力画面を用いて入力されるデータのデータベースにおいて用いることができる。
【０００９】
また、本発明による入力画面生成装置では、生成部は、データベーススキーマにおいて、入力フィールドに対応するサイズを、入力フィールドに対応する表形式データにおけるフィールドの長さに応じて設定してもよい。
このような構成により、データベーススキーマのサイズを、自動的に設定することができるようになる。
【００１０】
また、本発明による入力画面生成装置では、生成部は、入力画面に含まれる入力フィールドのデータ型に応じて、入力フィールドがフォーカスされたときに出力される入力補助ツールを設定してもよい。
このような構成により、入力フィードに応じた入力補助ツールを、自動的に設定することができるようになる。
【００１１】
また、本発明による入力画面生成装置では、生成部は、入力画面に含まれる入力フィールドのデータ型が日付データ型である場合には、カレンダーの入力補助ツールを設定してもよい。
このような構成により、日付データ型の入力フィールドに対して、カレンダーの入力補助ツールが自動的に設定されることになり、ユーザの利便性が向上することになる。
【００１２】
また、本発明による入力画面生成装置では、生成部は、入力画面に含まれる入力フィールドのデータ型が金額データ型または数値データ型である場合には、テンキーの入力補助ツールを設定してもよい。
このような構成により、金額データ型または数値データ型の入力フィールドに対して、テンキーの入力補助ツールが自動的に設定されることになり、ユーザの利便性が向上することになる。
【００１３】
また、本発明による入力画面生成装置では、表形式データにおける帳票の領域を検知する検知部をさらに備え、生成部は、検知部によって検知された帳票の領域に対応する入力画面を生成してもよい。
このような構成により、検知部によって検知された帳票の領域に応じた入力画面が自動的に生成されるようになる。したがって、必要十分な大きさの入力画面が生成されることになる。
【００１４】
また、本発明による入力画面生成装置では、検知部によって検知された帳票の領域があらかじめ決められた大きさを超えている場合に、警告を出力する警告出力部をさらに備えてもよい。
このような構成により、例えば、通常の表示画面で表示するには大きすぎる入力画面が生成されることになる場合には、そのことが事前に警告されることになる。したがって、例えば、その警告に応じて、適切な大きさの入力画面が生成されるように、表形式データを修正することができうる。
【００１５】
また、本発明による入力画面生成装置では、検知部は、表形式データに含まれる、情報が入力されているセルのうち、あらかじめ決められた条件を満たすセルは帳票の領域に含めなくてもよい。
このような構成により、例えば、表形式データに、作成者の覚書などの入力画面に反映されなくてもよい情報を入力することができるようになる。
【００１６】
また、本発明による入力画面生成装置では、生成部は、表形式データのレイアウトに応じた入力画面を生成してもよい。
このような構成により、表形式データのレイアウトと同様の入力画面が生成されるため、ユーザは、表形式データのレイアウトを設定したり変更したりすることによって、入力画面のレイアウトを設定したり変更したりすることができることになる。
【００１７】
また、本発明による入力画面生成装置では、生成部は、表形式データのレイアウトと関係しない、モバイル機器用の入力画面をも生成してもよい。
このような構成により、表形式データのレイアウトに応じた入力画面と共に、モバイル機器用の入力画面も生成されることになる。したがって、モバイル機器用の入力画面を生成するために、別途、表形式データを作成する必要がなくなり、ユーザの利便性が向上することになる。
【００１８】
また、本発明による入力画面生成装置では、生成部は、データベースにアクセスし、入力画面に含まれるフィールド名に対応するフィールドがそのデータベースに存在する場合に、入力画面において、そのフィールド名に対応する入力フィールドに、そのデータベースに存在するフィールドの各情報が入力のための選択肢として表示されるように設定してもよい。
このような構成により、既存のデータベースを用いて、例えば、入力画面の入力フィールドのプルダウンメニュー等を作成することができるようになる。
【００１９】
また、本発明による入力画面生成方法は、複数のセルにそれぞれ設定されたフィールドとフィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部と、生成部と、出力部とを用いて処理される入力画面精製方法であって、生成部が、表形式データを用いて、入力フィールドと、入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成ステップと、出力部が、生成ステップにおいて生成された入力画面を出力する出力ステップと、を備えたものである。
【発明の効果】
【００２０】
本発明による入力画面生成装置等によれば、専門的な知識のないユーザであっても、表形式データを作ることによって、それに応じた入力画面を容易に作成することができるようになる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態による入力画面生成装置の構成を示すブロック図
【図２】同実施の形態による入力画面生成装置の動作を示すフローチャート
【図３】同実施の形態における表形式データの一例を示す図
【図４】同実施の形態における入力画面の一例を示す図
【図５】同実施の形態におけるデータベーススキーマの一例を示す図
【図６】同実施の形態における入力画面のカレンダーの入力補助ツールを示す図
【図７】同実施の形態における入力画面のテンキーの入力補助ツールを示す図
【図８】同実施の形態における入力画面の他の一例を示す図
【図９】同実施の形態におけるモバイル機器用の入力画面に関する設定の一例を示す図
【図１０】同実施の形態におけるモバイル機器用の入力画面のプレビューの一例を示す図
【図１１】同実施の形態における外部のデータベースの一例を示す図
【図１２】同実施の形態における入力画面におけるデータベースにリンクしたプルダウンメニューの一例を示す図
【図１３】同実施の形態におけるコンピュータシステムの外観一例を示す模式図
【図１４】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００２２】
以下、本発明による入力画面生成装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による入力画面生成装置は、帳票の表形式データから、その帳票の入力画面を自動的に生成するものである。
【００２３】
図１は、本実施の形態による入力画面生成装置１の構成を示すブロック図である。本実施の形態による入力画面生成装置１は、記憶部１１と、検知部１２と、警告出力部１３と、生成部１４と、出力部１５と、入力画面記憶部１６と、受付部１７と、表示部１８とを備える。
【００２４】
記憶部１１では、複数のセルを有する帳票の表形式のデータである表形式データが記憶される。表形式データは、例えば、スプレッドシート（表計算ソフト）などのアプリケーションソフトウェアによって作成されたデータであってもよい。その表形式データは、複数のセルにそれぞれ設定されたフィールドと、そのフィールドのフィールド名との組を１以上有する表形式データである。その表形式データでは、所望の入力画面と同様のレイアウトが、罫線の設定やセルへの文字入力によって構成されていることが好適である。表形式データにおいて、あらかじめ決められた条件を満たすセル（例えば、罫線で枠囲みがなされた空欄のセルや、後述するデータ型の設定のなされた空欄のセル等）がフィールドに対応していてもよく、あらかじめ決められた位置のセル（例えば、左から２番目の列（Ｂ列）のセル等）がフィールドに対応していてもよい。そのフィールドに対応するフィールド名を示す文字列は、フィールドのセルに隣接するセルに入力されていることが好適である。そのような場合には、例えば、表形式データの各セルについて、文字列の入力されているセルがフィールド名のセルとなり、そのフィールド名のセルに隣接している、あらかじめ決められた条件を満たすセルや、あらかじめ決められた位置のセルが、そのフィールド名に対応するフィールドのセルであることになる。そのようにして、フィールド名と、フィールドとの対応関係が一意に特定できるように、表形式データが構成されていることが好適である。また、入力画面の入力フィールドに対応するフィールドにおいては、データ型が設定されていてもよい。そのデータ型は、例えば、数値データ型、金額データ型、テキストデータ型、日付データ型、時刻データ型、日付・時刻データ型、チェックボックス、ラジオボタン、セレクトボックス等から選ばれる少なくとも二以上を有するデータ型の集合に含まれるいずれかであってもよい。なお、データ型がセレクトボックスの場合には、選択対象の各値も設定されてもよい。また、それら以外のデータ型をフィールドに設定することができてもよい。表形式データにおけるデータ型の設定は、例えば、スプレッドシートのアプリケーションで行われているように、セルに対応するデータ型を設定することによって行われてもよく、または、セルに対してあらかじめ決められた文字列を入力することによって行われてもよい。前者の場合には、表示されているセルは空欄であり、そのセルの識別子と、そのセルに対応するデータ型とを対応付ける情報が別途、管理されていてもよい。また、後者の場合には、例えば、「データ型：数値」などの文字列がセルに入力されることによって、そのセルに数値データ型が設定されてもよい。この場合には、表示されているセルに、その文字列が表示されることになる。また、表形式データにおいて、フィールド名ではない文字列、すなわちフィールドと対応していないセルに入力された文字列が存在してもよい。その文字列は、例えば、入力画面のタイトルや、注意書き等であってもよい。
【００２５】
また、表形式データにおいて情報の入力されているセルには、入力画面の生成に用いられないセルがあってもよく、またはそうでなくてもよい。前者の場合には、例えば、情報が入力されているセルのうち、あらかじめ決められた条件を満たすセルは、入力画面の生成で用いられる帳票の領域に含まれなくてもよい。そのあらかじめ決められた条件は、例えば、特定の文字列（例えば、「＃」「／／」など）から始まるという条件であってもよく、特定の文字列の組（例えば、「＜！−−」と「−−＞」の組や、「／＊」と「＊／」の組など）で括られているという条件であってもよい。入力画面の生成に用いられないセルは、例えば、表形式データの作成者が、覚書などのコメントを記載するために用いられるセルであってもよい。
【００２６】
記憶部１１に表形式データが記憶される過程は問わない。例えば、記録媒体を介して表形式データが記憶部１１で記憶されるようになってもよく、通信回線等を介して送信された表形式データが記憶部１１で記憶されるようになってもよく、または、入力デバイスを介して入力された表形式データが記憶部１１で記憶されるようになってもよい。記憶部１１での記憶は、ＲＡＭ等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部１１は、所定の記録媒体（例えば、半導体メモリや磁気ディスクなど）によって実現されうる。
【００２７】
検知部１２は、表形式データにおける帳票の領域を検知する。検知部１２は、表形式データにおいて情報の入力されているセルのうち、最小範囲の領域を、帳票の領域として検知してもよい。具体的には、検知部１２は、表形式データにおいて、情報の入力されている最も左側の列から、情報の入力されている最も右側の列までの列の範囲であって、かつ、情報の入力されている最も上側の行から、情報の入力されている最も下側の行までの行の範囲である領域を帳票の領域と検知してもよい。また、検知部１２は、表形式データに含まれる、情報が入力されているセルのうち、あらかじめ決められた条件を満たすセルは帳票の領域に含めなくてもよい。そのあらかじめ決められた条件については、上記のとおりである。
【００２８】
警告出力部１３は、検知部１２によって検知された帳票の領域があらかじめ決められた大きさを超えている場合に、警告を出力する。警告出力部１３は、例えば、検知された帳票の領域の幅が、あらかじめ決められた閾値を超えている場合に、警告を出力してもよく、検知された帳票の領域の縦方向の長さが、あらかじめ決められた閾値を超えている場合に、警告を出力してもよく、両方であってもよい。例えば、幅方向の閾値は、通常のディスプレイの幅（例えば、１２８０ピクセル等）に応じて設定されてもよい。より具体的には、その幅方向の閾値は、通常のディスプレイの幅と同程度であってもよい。入力画面を通常のディスプレイに表示した場合に、横方向にスクロールする必要がないようにするためである。また、例えば、縦方向の閾値は、通常のディスプレイの上下方向の長さ（例えば、８００ピクセル等）に応じて設定されてもよい。より具体的には、その縦方向の閾値は、通常のディスプレイの上下方向の長さと同程度であってもよい。入力画面を通常のディスプレイに表示した場合に、上下方向にスクロールする必要がないようにするためである。そのあらかじめ決められた閾値は、例えば、画素数によって示されてもよく、その他の長さの基準によって示されてもよい。
【００２９】
ここで、この出力は、例えば、表示デバイス（例えば、液晶ディスプレイや有機ＥＬディスプレイなど）への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、警告出力部１３は、出力を行うデバイス（例えば、表示デバイスやスピーカなど）を含んでもよく、または含まなくてもよい。また、警告出力部１３は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３０】
生成部１４は、表形式データを用いて、入力フィールドと、その入力フィールドのフィールド名とを有する帳票の入力画面を生成する。その入力画面は、入力フィールドと、その入力フィールドのフィールド名との組を１または２以上有するものであってもよい。表形式データのフィールドが入力画面の入力フィールドに対応し、そのフィールドのフィールド名が、入力フィールドのフィールド名に対応することになる。入力画面を生成するとは、厳密には、入力画面の情報を生成することである。入力画面は、例えば、入力フィールドとフィールド名との組を指定する構造の情報、及び、その入力フィールド及びフィールド名の配置位置（表示位置）を示すレイアウト情報によって構成されてもよい。構造の情報は、例えば、ＨＴＭＬやＸＭＬ等のマークアップ言語によって記述された情報であってもよい。また、レイアウト情報は、例えば、カスケーディング・スタイル・シートなどのスタイルシートであってもよい。なお、そのような構造の情報と、レイアウト情報とによって入力画面を構成することはすでに公知であり、その詳細な説明を省略する。
【００３１】
生成部１４は、検知部１２によって検知された帳票の領域に対応する入力画面を生成するものとする。具体的には、生成部１４は、検知部１２によって検知された領域において、文字列の入力されているフィールド名のセルを特定し、そのフィールド名のセルの上下左右のいずれかの隣接したセルのうち、あらかじめ決められた条件を満たすセルや、あらかじめ決められた位置のセルである、特定したフィールド名に対応するフィールドのセルを特定してもよい。このようにして、表形式データにおいて、フィールドと、そのフィールドのフィールド名との組を特定することができる。あらかじめ決められた条件を満たすセルは、上記のように、例えば、罫線で枠囲みがなされた空欄のセルや、後述するデータ型の設定のなされた空欄のセルなどであってもよい。また、あらかじめ決められた条件を満たすセルは、例えば、フィールド名のセルに対する枠囲みの罫線と連続している罫線によって枠囲みがなされた空欄のセルであってもよい。また、フィールド名のセルに対して、２以上のフィールドのセルが対応している場合には、生成部１４は、１個のフィールド名のセルと、そのフィールド名に対応する複数のフィールドのセルとの組を特定してもよい。例えば、フィールド名「商品名」のセルに連続して、そのフィールド名のセルと連続した罫線の枠囲みがなされている複数の空欄のセルが一方向に連続している場合には、生成部１４は、そのフィールド名「商品名」のセルと、それに連続する複数の空欄のセルであるフィールドのセルとの組を特定してもよい。生成部１４は、表形式データにおいて、フィールドと、そのフィールドのフィールド名との組を特定した後に、その組に対応する入力フィールドとフィールド名とに関する情報を、入力画面の構造の情報に追記してもよい。このように、表形式データにおけるフィールド及びフィールド名の組を特定することと、その組に対応する情報を入力画面の構造の情報に追加することとが繰り返されることによって、表形式データに対応する入力画面の構造の情報が生成されることになる。また、表形式データにおいて、フィールド名ではない文字列、すなわちフィールドと対応していないセルに入力された文字列が存在する場合に、生成部１４は、その文字列を入力画面にそのまま含めるようにしてもよい。例えば、入力画面のタイトルや、入力画面の入力に関する注意書き等の文字列を含むセルが表形式データに含まれる場合には、それらの文字列がそのまま入力画面に反映されることが好適だからである。
【００３２】
表形式データのフィールドにデータ型の設定がなされている場合に、生成部１４は、入力画面に含まれる入力フィールドのデータ型を、その入力フィールドに対応する表形式データのフィールドに設定されているデータ型に設定してもよい。例えば、表形式データのあるフィールドに数値データ型が設定されている場合には、生成部１４は、入力画面における、そのフィールドに対応する入力フィールドのデータ型を、数値データ型に設定してもよい。そして、入力画面のある入力フィールドにデータ型が設定されている場合には、その入力画面を用いたデータ入力において、その入力フィールドでは、設定されているデータ型のデータのみが受け付けられてもよい。例えば、数値データ型の設定されている入力フィールドには、数値のみが入力できるようになっていてもよい。入力画面の入力フィールドへのデータ型の設定は、例えば、入力画面の構造の情報に対して行われてもよく、または、後述するデータベーススキーマに対して行われてもよい。
【００３３】
また、生成部１４は、入力画面の各入力フィールドに対応するデータベーススキーマを、入力フィールドに対応する表形式データにおけるフィールド及びフィールド名の少なくとも一方を用いて生成してもよい。データベーススキーマは、例えば、入力フィールドに対応する属性名と、データ型と、サイズとを対応付けるものであってもよい。属性名に対応付けられるデータ型及びサイズは、その属性名によって名称の示されている属性のデータ型及びサイズである。そして、生成部１４は、そのデータベーススキーマに含まれる少なくとも一部の情報を、表形式データに含まれるフィールド及び／またはフィールド名を用いて生成してもよい。生成部１４は、例えば、データベーススキーマにおいて、入力フィールドに対応する属性名を、その入力フィールドに対応する表形式データにおけるフィールドのフィールド名に設定してもよい。また、生成部１４は、データベーススキーマにおいて、入力フィールドに対応するデータ型を、その入力フィールドに対応する表形式データにおけるフィールドのデータ型に設定してもよい。また、生成部１４は、データベーススキーマにおいて、入力フィールドに対応する入力フィールドに対応するサイズを、その入力フィールドに対応する、表形式データにおけるフィールドの長さに応じて設定してもよい。フィールドの長さは、例えば、フィールドの幅であってもよい。フィールドの長さに応じて設定するとは、その長さが長いほど、より大きなサイズに設定することであってもよい。フィールドの長さに応じたサイズは、例えば、フィールドの長さを引数として、入力フィールドに対応するサイズを算出するために用いられる関数や、フィールドの長さと、入力フィールドに対応するサイズとを対応付けるテーブル等を用いて特定されてもよい。そのサイズは、例えば、データ量（バイト数）であってもよく、文字数や数字の桁数などであってもよい。また、データベーススキーマも生成する場合には、生成部１４は、入力画面における各入力フィールドと、データベーススキーマにおける各レコードとの対応関係が分かるようにしてもよい。例えば、生成部１４は、対応関係にある入力画面における入力フィールドと、データベーススキーマにおけるレコードとに同じＩＤを付与してもよい。
【００３４】
また、生成部１４は、入力画面に含まれる入力フィールドのデータ型に応じて、その入力フィールドがフォーカスされたときに出力される入力補助ツールを設定してもよい。具体的には、生成部１４は、入力画面に含まれる入力フィールドのデータ型が日付データ型である場合には、その入力フィールドがフォーカスされたときに出力される入力補助ツールとして、カレンダーの入力補助ツールを設定してもよい。カレンダーの入力補助ツールとは、表示されたカレンダーにおいて日付を選択することによって、選択した日付を入力できる入力補助ツールである。また、生成部１４は、入力画面に含まれる入力フィールドのデータ型が金額データ型または数値データ型である場合には、その入力フィールドがフォーカスされたときに出力される入力補助ツールとして、テンキーの入力補助ツールを設定してもよい。テンキーの入力補助ツールとは、表示されたテンキーにおいて数値ボタンを選択することによって、選択した数値ボタンに対応する数値を入力できる入力補助ツールである。そのテンキーの入力補助ツールは、例えば、数値の入力のみに用いられてもよく、数値の計算機能を有していてもよい。後者の場合には、その入力補助ツールは、電卓であると考えてもよい。入力フィールドがフォーカスされるとは、例えば、ポインティングデバイスや指でのタップ等によって入力フィールドが選択されたり、入力のために、入力フィールドにポインタやカーソルが配置されたりすることであってもよい。また、入力画面の所定の入力フィールドに入力補助ツールを設定するとは、例えば、その入力補助ツールのモジュール等を入力画面に組み込むことであってもよく、または、別途管理されている入力補助ツールのモジュール等を入力画面から読み出すように設定することであってもよい。
【００３５】
また、生成部１４は、表形式データのレイアウトに応じた入力画面を生成する。すなわち、生成部１４は、表形式データのレイアウトと同様のレイアウトとなるように、入力画面のレイアウト情報を生成してもよい。そのため、生成部１４は、例えば、表形式データにおいて特定したフィールドやフィールド名の位置やサイズ等を表形式データから取得し、その取得した位置やサイズを用いて、入力画面のレイアウト情報を構成してもよい。より具体的には、生成部１４は、その取得した位置やサイズ等を用いて、入力画面の入力フィールドやフィールド名が、表形式データにおけるフィールドやフィールド名と同様の位置関係、サイズとなるように、入力画面のレイアウト情報を生成してもよい。なお、生成部１４は、表形式データのレイアウトに応じた入力画面を生成する際に、例えば、厳密に同じレイアウトとなるように入力画面を生成してもよく、順序や並び等が同じレイアウトとなるように入力画面を生成してもよい。後者の場合には、生成部１４は、例えば、入力フィールドの幅などを、データ型などに応じて決定してもよい。具体的には、数値データ型に対応する入力フィールドの幅や、金額データ型に対応する入力フィールドの幅などがあらかじめ決められており、生成部１４は、各入力フィールドの幅が、データ型に応じた幅となるように入力画面を生成してもよい。
【００３６】
また、生成部１４は、あらかじめ決められた構成要素を入力画面に含めるようにしてもよい。例えば、あらかじめ「ＯＫ」ボタンと「キャンセル」ボタンとを右下に含めることが決まっている場合には、生成部１４は、入力画面を生成する際に、それらのボタンを含む入力画面を生成してもよい。
【００３７】
生成部１４は、表形式データのレイアウトと関係しない、モバイル機器用の入力画面をも生成してもよい。近年、デスクトップパソコンなどのように、通常のディスプレイで表示するための入力画面と、スマートフォンやタブレット端末などのように、通常のディスプレイよりも狭小なディスプレイで表示するための入力画面との両方を準備しておき、アクセス元の機器の種類に応じて、表示する入力画面を切り換えることが行われている。そのため、表形式データのレイアウトに応じた、デスクトップパソコン用の入力画面と、モバイル機器用の入力画面との両方を自動的に生成することは好適である。なお、モバイル機器用の入力画面では、表示対象の入力フィールドとフィールド名とを選択できるようにしてもよい。より小さな画面で入力する場合には、重要度の低い情報の入力を省略するようにしてもよいからである。したがって、生成部１４は、表形式データに含まれるフィールド及びフィールド名のうち、あらかじめ選択されているものに対応する入力フィールドやフィールド名を有するモバイル機器用の入力画面を生成してもよい。そのモバイル機器用の入力画面では、入力フィールドやフィールド名が、例えば、上下方向のみに並ぶように構成されていてもよい。また、そのモバイル機器用の入力画面において、入力フィールドやフィールド名の表示順序をユーザがあらかじめ設定できてもよい。入力フィールドやフィールド名の表示の有無や表示の順序に関する設定情報は、例えば、記憶部１１で記憶されており、生成部１４は、それらの情報を読み出すことによって、その設定情報に応じたモバイル機器用の入力画面を生成してもよい。モバイル機器用の入力画面を生成する場合には、生成部１４は、表形式データのレイアウトと関係なく、あらかじめ決められたレイアウト情報や、上記のようにユーザによって設定された表示順序や表示の有無に応じたレイアウト情報を用いてもよく、モバイル機器において表示や入力が容易になるようにレイアウト情報を構成してもよい。なお、モバイル機器用の入力画面に関する入力フィールドとフィールド名との組を指定する構造の情報は、通常の入力画面のものがそのまま用いられてもよく、または、通常の入力画面と同様に、その構造の情報が生成されてもよい。
【００３８】
出力部１５は、生成部１４によって生成された入力画面を出力する。また、データベーススキーマも生成された場合には、出力部１５は、生成部１４によって生成されたデータベーススキーマを蓄積してもよい。ここで、この出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、出力部１５が、入力画面やデータベーススキーマを入力画面記憶部１６に蓄積する場合について主に説明する。なお、出力部１５は、出力を行うデバイス（例えば、通信デバイスなど）を含んでもよく、または含まなくてもよい。また、出力部１５は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３９】
入力画面記憶部１６では、入力画面やデータベーススキーマが記憶される。入力画面記憶部１６での記憶は、ＲＡＭ等における一時的な記憶でもよく、または、長期的な記憶でもよい。入力画面記憶部１６は、所定の記録媒体（例えば、半導体メモリや磁気ディスクなど）によって実現されうる。入力画面記憶部１６において記憶されている入力画面やデータベーススキーマは、入力画面生成装置１の外部に出力されてもよい。
【００４０】
受付部１７は、情報や指示等の入力を受け付ける。その受け付けられた情報によって、例えば、記憶部１１で記憶されている表形式データや、モバイル機器用の入力画面に関する設定情報が構成されてもよい。また、受け付けられた情報によって、例えば、入力画面の生成が指示されてもよい。また、受付部１７は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された情報や指示を受け付けてもよく、有線または無線の通信回線を介して送信された情報や指示を受信してもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出された情報を受け付けてもよい。なお、受付部１７は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、受付部１７は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４１】
表示部１８は、記憶部１１で記憶されている表形式データ等を表示する。なお、表示部１８は、それらの表示を行う表示デバイス（例えば、液晶ディスプレイや有機ＥＬディスプレイなど）を含んでもよく、または含まなくてもよい。また、表示対象の表示は、別の装置においてなされてもよい。その場合には、表示部１８は、装置の外部に対して表示対象の情報を送信するものであってもよい。また、表示部１８は、ハードウェアによって実現されてもよく、または表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４２】
なお、記憶部１１と、入力画面記憶部１６とは、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、表形式データを記憶している領域が記憶部１１となり、入力画面を記憶している領域が入力画面記憶部１６となる。
【００４３】
また、図１では明記していないが、入力画面生成装置１は、スプレッドシート（表計算ソフト）のアプリケーションソフトウェアを実行する構成を有していてもよい。そのアプリケーションソフトウェアは、記憶部１１等で記憶されており、図示しない実行部がそのソフトウェアを実行してもよい。また、そのソフトウェアが実行されている際に、受付部１７によってスプレッドシートへの入力が指示等が受け付けられ、それに応じた処理が図示しない実行部によって実行され、また、その結果が表示部１８によって表示されてもよい。
【００４４】
次に、入力画面生成装置１の動作について図２のフローチャートを用いて説明する。このフローチャートでは、表形式データのフィールドに対応するセルには、文字列が入力されていないものとする。
【００４５】
（ステップＳ１０１）生成部１４は、入力画面の生成を行うかどうか判断する。そして、入力画面の生成を行う場合には、ステップＳ１０２に進み、そうでない場合には、入力画面の生成を行うと判断するまで、ステップＳ１０１の処理を繰り返す。生成部１４は、例えば、入力画面を生成する旨の指示が受付部１７で受け付けられた場合に、入力画面を生成すると判断してもよい。なお、その指示に、入力画面の生成で用いる表形式データを識別する情報が含まれていてもよい。
【００４６】
（ステップＳ１０２）検知部１２は、入力画面の生成で用いる表形式データにおける帳票の領域を検知する。
【００４７】
（ステップＳ１０３）警告出力部１３は、ステップＳ１０２で検知された領域が、あらかじめ決められた大きさ以内であるのか、その大きさを超えているのかを判断する。そして、あらかじめ決められた大きさ以内であれば、ステップＳ１０４に進み、あらかじめ決められた大きさ超えていれば、ステップＳ１１５に進む。
【００４８】
（ステップＳ１０４）生成部１４は、表形式データにおいて、文字列の入力されているセルを特定する。なお、ステップＳ１１２からステップＳ１０４に戻った場合には、生成部１４は、それまでに特定していない、文字列の入力されているセルを特定するものとする。
【００４９】
（ステップＳ１０５）生成部１４は、ステップＳ１０４で特定した文字列の入力されているセルに対応するフィールドがあるかどうか判断する。生成部１４は、例えば、そのセルに隣接する、あらかじめ決められた条件を満たすセルがある場合に、その文字列のセルに対応するフィールドがあると判断してもよい。そして、文字列の入力されているセルに対応するフィールドがある場合には、そのフィールドのセルを特定してステップＳ１０６に進み、そうでない場合には、ステップＳ１１４に進む。
【００５０】
（ステップＳ１０６）生成部１４は、ステップＳ１０５で特定したフィールドのセルに設定されているデータ型を取得する。
【００５１】
（ステップＳ１０７）生成部１４は、ステップＳ１０５で特定したフィールドの長さに応じたサイズを特定する。
【００５２】
（ステップＳ１０８）生成部１４は、ステップＳ１０４で特定したセルの文字列である属性名と、ステップＳ１０６で取得したデータ型と、ステップＳ１０７で特定したサイズとを有するデータベーススキーマを設定する。その設定は、表形式データのフィールドに対応するデータベーススキーマを蓄積することによって行われてもよい。
【００５３】
（ステップＳ１０９）生成部１４は、ステップＳ１０４で特定したセルの文字列であるフィールド名と、ステップＳ１０５で特定したフィールドとにそれぞれ対応する、入力画面におけるフィールド名と、入力フィールドとを設定する。その設定は、ステップＳ１０５で特定したフィールドに対応する入力画面における位置に、入力フィールドを設定し、ステップＳ１０４で特定したフィールド名に対応する入力画面における位置に、フィールド名を設定することによって行われてもよい。より具体的には、生成部１４は、そのフィールド名と入力フィールドとに対応する構造を、構造の情報に追加し、それらの表示位置に応じた設定を、レイアウト情報に追加してもよい。なお、入力画面にフィールド等を初めて設定する際には、生成部１４は、ステップＳ１０２で検知された領域に対応するブランクの入力画面をまず生成し、そのブランクの入力画面に、フィールド等の設定を行ってもよい。
【００５４】
（ステップＳ１１０）生成部１４は、ステップＳ１０８で設定したデータベーススキーマに含まれるデータ型が、入力補助ツールの設定対象となる特定のデータ型であるかどうか判断する。そして、特定のデータ型である場合には、ステップＳ１１１に進み、そうでない場合には、ステップＳ１１２に進む。なお、生成部１４は、例えば、ステップＳ１０８で設定したデータベーススキーマに含まれるデータ型が、日付データ型、金額データ型、及び数値データ型のいずれかである場合に、入力補助ツールの設定対象となる特定のデータ型であると判断してもよい。
【００５５】
（ステップＳ１１１）生成部１４は、ステップＳ１０９で入力画面に追加した入力フィールドに、データ型に応じた入力補助ツールを設定する。上記のように、生成部１４は、例えば、入力フィールドのデータ型が日付データ型である場合には、カレンダーの入力補助ツールを設定し、入力フィールドのデータ型が金額データ型または数値データ型である場合には、テンキーの入力補助ツールを設定してもよい。
【００５６】
（ステップＳ１１２）生成部１４は、それまでに特定していない、文字列の入力されているセルが存在するかどうか判断する。そして、そのようなセルが存在する場合には、ステップＳ１０４に戻り、そうでない場合には、ステップＳ１１３に進む。
【００５７】
（ステップＳ１１３）出力部１５は、生成部１４によって生成された入力画面と、データベーススキーマとを出力する。なお、生成された入力画面は、ステップＳ１０９における入力フィールド等の生成や、ステップＳ１１４における文字列の生成が繰り返して行われた入力画面であってもよい。また、生成されたデータベーススキーマとは、ステップＳ１０８でのデータベーススキーマの設定が繰り返して行われたデータベーススキーマであってもよい。そして、入力画面を生成する一連の処理は終了となる。
【００５８】
（ステップＳ１１４）生成部１４は、ステップＳ１０４で特定したセルの文字列を、入力画面に設定する。その設定は、ステップＳ１０４で特定したセルの文字列に対応する入力画面における位置に、その文字列を追加することによって行われてもよい。なお、入力画面にフィールド等を初めて設定する際には、生成部１４は、ステップＳ１０２で検知された領域に対応するブランクの入力画面をまず生成し、そのブランクの入力画面に、文字列を追加してもよい。このように、表形式データに含まれる文字列をそのまま入力画面に設定する場合には、生成部１４は、例えば、表形式データに含まれる文字列の属性（例えば、下線、斜体、太字、色等の文字の修飾や、フォントの種類、サイズ等）をそのまま入力画面に設定する文字列に反映してもよく、または、そうでなくてもよい。
【００５９】
（ステップＳ１１５）警告出力部１３は、表形式データにおける帳票の領域が、あらかじめ決められた大きさを超えている旨の警告を出力する。
【００６０】
（ステップＳ１１６）受付部１７は、入力画面の生成の処理を継続する旨の指示を受け付けたかどうか判断する。そして、継続の指示を受け付けた場合には、ステップＳ１０４に進み、そうでない場合には、入力画面の生成の処理を終了する。そのようにして入力画面の生成の処理が終了された場合には、ユーザは、表形式データにおける帳票の領域を修正し、再度、入力画面を生成する旨の指示を入力してもよい。
【００６１】
なお、図２のフローチャートには、スプレッドシートのアプリケーションソフトウェアを用いてユーザが帳票の表形式データを作成する処理は含まれていないが、受付部１７は、表形式データに対する入力を受け付け、その受け付けた入力に応じて、記憶部１１で記憶されている表形式データを変更してもよい。また、表示部１８は、記憶部１１で記憶されている表形式データや、スプレッドシートのアプリケーションソフトウェアで用いられるツール等を表示してもよい。また、表示部１８は、生成された入力画面を表示してもよい。その表示は、生成された入力画面が適切であるかどうかのチェックのために行われてもよい。また、図２のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。
【００６２】
次に、本実施の形態による入力画面生成装置１の動作について、具体例を用いて説明する。
この具体例において、ユーザは、入力画面生成装置１において、スプレッドシートのアプリケーションソフトウェアを起動し、受付部１７を介した入力等を行うことによって、図３で示される表形式データ「ｓｐｒｅａｄｓｈｅｅｔ００１」を生成し、その表形式データを記憶部１１に保存したとする。なお、図３で示される表形式データは、物品調達依頼書の帳票に対応するものである。例えば、セルＢ５には、フィールド名「購入先」が設定されており、そのセルＢ５に隣接するセルＢ６に、フィールド名「購入先」に対応するフィールドが設定されている。他のフィールド及びフィールド名についても同様である。また、フィールド名「購入先」「事業所名」「氏名」「商品名（型番）」「備考（色、サイズ、メーカー等）」「納品先」に対応するフィールドには、テキストデータ型が設定されており、フィールド名「申請日」に対応するフィールドには、日付データ型が設定されており、フィールド名「数量」に対応するフィールドには、数値データ型が設定されており、フィールド名「金額」に対応するフィールドには、金額データ型が設定されているものとする。
【００６３】
その後、ユーザが、表形式データ「ｓｐｒｅａｄｓｈｅｅｔ００１」に対応する入力画面を生成する旨の指示を入力したとする。すると、その指示が受付部１７によって受け付けられ、生成部１４に渡される。そして、生成部１４は、入力画面を生成すると判断し、検知部１２に対して、表形式データ「ｓｐｒｅａｄｓｈｅｅｔ００１」における帳票の領域を検知する旨の指示を渡す（ステップＳ１０１）。その指示を受け取ると、検知部１２は、記憶部１１で記憶されている表形式データ「ｓｐｒｅａｄｓｈｅｅｔ００１」にアクセスし、情報が入力されたり、罫線が設定されたりしている最小の範囲を帳票の領域として検知する。この場合には、図３で示される表形式データ「ｓｐｒｅａｄｓｈｅｅｔ００１」において、検知部１２は、行方向は２行から２０行までの範囲であり、列方向はＢ列からＧ列までの範囲である帳票の領域を検知する（ステップＳ１０２）。そして、検知部１２は、その検知した領域の幅と、上下方向の長さとを示す情報を警告出力部１３に渡す。それらの情報を受け取ると、警告出力部１３は、検知された幅と、上下方向の長さとがそれぞれあらかじめ決められている閾値ＴＨ１，ＴＨ２以下であるかどうか判断する。この場合には、両者ともに閾値以下であったとする。すると、警告出力部１３は、検知された領域があらかじめ決められた大きさ以内であると判断し、その旨を生成部１４に渡す（ステップＳ１０３）。
【００６４】
次に、生成部１４は、まず、図３で示される表形式データにおいて、文字列「物品調達依頼書」の入力されているセルＢ２を特定する（ステップＳ１０４）。なお、そのセルＢ２に対応するフィールドは存在しないため（ステップＳ１０５）、生成部１４は、検知部１２によって検知された帳票の領域に応じた大きさを有するブランクの入力画面の情報を生成し、表形式データにおける文字列「物品調達依頼書」に対応する入力画面の位置に、文字列「物品調達依頼書」を追加する（ステップＳ１１４）。また、その際に、生成部１４は、文字列のフォントの大きさや文字の修飾（この場合には下線）については、表形式データにおける設定と同じにする。
【００６５】
次に、生成部１４は、次の文字列「購入先」の入力されているセルＢ５を特定する（ステップＳ１１２，Ｓ１０４）。この場合には、その文字列に対応するフィールドであるセルＢ６が存在するため（ステップＳ１０５）、生成部１４は、そのフィールドに設定されているデータ型「テキストデータ型」を取得し、また、そのフィールドの幅「２８８ピクセル」を特定する（ステップＳ１０６，Ｓ１０７）。そして、生成部１４は、そのフィールド（属性）に対応する属性名「購入先」、データ型「テキストデータ型」、フィールドの幅「２８８ピクセル」に応じた、文字数であるサイズ「２０」を含むデータベーススキーマのレコードを作成する（ステップＳ１０８）。なお、文字数であるサイズは、フィールドの幅であるピクセル数を１４で除算し、小数点以下を切り捨てた値である。生成部１４は、特定した文字列のセルＢ５に応じたフィールド名と、そのセルＢ５に対応するフィールドのセルＢ６に応じた入力フィールドとを入力画面の情報に追加する（ステップＳ１０９）。また、生成部１４は、セルＢ６のフィールドに設定されたデータ型が「テキストデータ型」であるため、そのフィールドに応じた入力フィールドについては、入力補助ツールの設定は行わない（ステップＳ１１０）。
【００６６】
その後、生成部１４は、他のフィールド名とフィールドとの組についても同様に、データベーススキーマの設定や、入力画面における入力フィールド等の生成等を順次行う。なお、フィールド名「申請日」に対応するフィールドのデータ型は、「日付データ型」であるため、生成部１４は、それに対応する入力フィールドには、カレンダーの入力補助ツールを設定する（ステップＳ１１１）。また、フィールド名「数量」「金額」に対応するフィールドのデータ型はそれぞれ「数値データ型」「金額データ型」であるため、生成部１４は、それらに対応する入力フィールドには、電卓の入力補助ツールを設定する（ステップＳ１１１）。また、フィールド名「商品名（型番）」「数量」「金額」「備考（色、サイズ、メーカー等）」については、各フィールド名に対応するフィールドが９個存在するため、生成部１４は、その９個の入力フィールドをそれぞれ生成する。
【００６７】
表形式データに含まれる各文字列に対応する処理が終了すると（ステップＳ１１２）、出力部１５は、生成部１４から入力画面とデータベーススキーマとを受け取り、入力画面記憶部１６に蓄積する（ステップＳ１１３）。図４は、そのようにして蓄積された入力画面の情報が解釈、実行されて表示された入力画面の一例を示す図である。図４で示されるように、図３の表形式データから、その表形式データと同様の入力画面が自動的に生成されることになる。また、図５は、そのようにして蓄積されたデータベーススキーマの一例を示す図である。図５で示されるように、データベーススキーマには、各属性の属性名と、データ型と、サイズとが含まれている。また、図４のように表示された入力画面において、申請日に対応する入力フィールドがフォーカスされた場合、例えば、その入力フィールドがマウスポインタやタップによって選択された場合には、図６で示されるように、入力補助ツールであるカレンダーが表示される。そして、ユーザは、そのカレンダーを用いることによって、所望の日付を容易に入力することができる。また、図４のように表示された入力画面において、数量や金額に対応する入力フィールドがフォーカスされた場合には、図７で示されるように、入力補助ツールである電卓が表示される。そして、ユーザは、その電卓を用いることによって、所望の数値を容易に入力することができる。この電卓では、「＝」のキーが選択された場合に、その計算結果の数値が入力されるものとする。
【００６８】
なお、図３の表形式データから、図４の入力画面を生成するのは一例であり、そうでなくてもよい。例えば、図３の表形式データにおいては、フィールド名「商品名（型番）」「数量」等に対応するフィールドがそれぞれ複数存在している。したがって、生成部１４は、その複数のフィールドに対応する入力フィールドを有する図４で示されるような入力画面を作成する代わりに、図８で示される、入力フィールドを追加することができる入力画面を作成してもよい。図８の入力画面では、プラス（＋）のマークを選択することによって、フィールド名「商品名（型番）」「数量」等に対応する入力フィールドが追加されるようになっている。より具体的には、プラスのマークが選択されることによって、入力フィールドを追加するモジュールが起動され、入力フィールドを追加するように構造の情報とレイアウト情報とが変更されてもよい。このようにして、ユーザは、必要な範囲において入力フィールドを増やすことができる。
【００６９】
次に、生成部１４が、通常の入力画面に加えて、モバイル機器用の入力画面をも生成する場合について説明する。その場合には、図９で示されるように、モバイル機器用の入力画面に含めるフィールド名とフィールドとをユーザがあらかじめ選択できてもよい。例えば、生成部１４は、表形式データからフィールド名とフィールドとの複数の組を特定した後に、その特定した各フィールド名や各フィールドの一覧と、それらを表示するかどうかの選択結果とを表示部１８に表示してもよい。その表示は、例えば、図９で示されるようなされてもよい。そして、その表示において、ユーザが、表示の欄のチェックを外すことによって、特定のフィールド名や、特定の入力フィールドが、モバイル機器用の入力画面に含まれないように設定することができる。なお、図９では、すべてのフィールド名や入力フィールドに表示の欄のチェックが入っているため、すべてのフィールド名や入力フィールドが、モバイル機器用の入力画面に表示されることになる。また、図９の表示において、ユーザが、フィールド名等の順序を入れ替えることができるようになっていてもよい。
【００７０】
なお、図９の画面において、ユーザが「プレビュー」ボタンを選択すること、その時点の表示の設定に応じたモバイル機器用の入力画面が生成部１４によって生成され、図示しない経路を介して、図１０で示されるように、表示部１８に表示されてもよい。そのようなプレビューの表示が行われることによって、モバイル機器用の入力画面の状況を知ることができ、それに応じて、モバイル機器用の設定を変更することもできるようになる。
【００７１】
以上のように、本実施の形態による入力画面生成装置１によれば、スプレッドシート等のアプリケーションを用いて作成された表形式データを用いて、帳票のデータの入力画面を生成できるようになる。したがって、帳票のデータの入力画面を生成するスキルのないユーザであっても、表形式データを作ることによって、それに応じた入力画面を容易に作成できるようになる。また、表形式データに設定されているデータ型に応じて、自動的に入力画面の入力フィールドにデータ型が設定されることによって、ユーザが入力画面においてそのようなデータ型の設定を手動で行う必要がなくなり、ユーザの利便性を向上させることができる。特に、入力画面等の設定を専門家でない者が行うことは困難であるが、表形式データにおいてデータ型の設定を行うことは、より容易である。したがって、このようにすることで、入力画面の入力フィールドにデータ型を設定するためのハードルを低くすることができる。また、表形式データに応じて、入力画面に対応するデータベーススキーマが自動生成されることにより、そのデータベーススキーマを手動で作成する場合と比較して、ユーザの負担を軽減することができる。また、入力画面に含まれる入力フィールドのデータ型に応じて、その入力フィールドがフォーカスされた際に出力される入力補助ツールが自動的に設定されることによって、そのような設定を手動で行う必要がなくなり、ユーザの負担が軽減されることになる。
【００７２】
なお、本実施の形態では、入力画面生成装置１が警告出力部１３を備える場合について説明したが、そうでなくてもよい。入力画面生成装置１は、警告出力部１３を備えていなくてもよい。
【００７３】
また、本実施の形態では、入力画面生成装置１が検知部１２を備える場合について説明したが、そうでなくてもよい。入力画面生成装置１は、検知部１２を備えていなくてもよい。入力画面生成装置１が検知部１２を備えていない場合には、生成部１４は、例えば、表形式データにおけるあらかじめ決められた領域に対応する入力画面を生成してもよい。
【００７４】
また、本実施の形態では、生成部１４がデータベーススキーマも生成する場合について主に説明したが、そうでなくてもよい。生成部１４は、データベーススキーマを生成しなくてもよい。また、生成部１４は、入力画面の入力フィールドに対するデータ型の設定を行わなくてもよい。また、生成部１４は、入力画面への入力補助ツールの設定を行わなくてもよい。
【００７５】
また、本実施の形態において、既存のデータベースを用いて、入力画面の入力フィールドに表示される選択肢を設定するようにしてもよい。その選択肢は、その入力フィールドへの入力のために表示されるものである。したがって、入力を行うユーザは、その選択肢の一つを選択することによって、容易に入力を行うことができるようになる。以下、その場合の構成について説明する。その場合には、生成部１４は、既存のデータベースにアクセスできるものとする。そのデータベースは、入力画面生成装置１において記憶されていてもよく、または、入力画面生成装置１の外部に存在してもよい。後者の場合には、生成部１４は、例えば、ネットワークを介してデータベースにアクセスしてもよい。そして、生成部１４は、そのデータベースにアクセスし、入力画面に含まれるフィールド名に対応するフィールドが、そのデータベースに存在するかどうか確認する。その確認は、例えば、入力フィールドに対応するフィールド名と部分一致するフィールド名の設定されているフィールドが、そのデータベースに存在するかどうか判断することによって行われてもよい。例えば、入力画面に含まれるフィールド名が「氏名」である場合に、データベースに、フィールド名「氏名」や「従業員氏名」「ユーザ氏名」などのフィールド名の設定されているフィールドが存在する場合には、生成部１４は、入力画面に含まれるフィールド名に対応するフィールドが、そのデータベースに存在すると判断してもよい。また、部分一致ではなく、完全一致するフィールド名の設定されているフィールドが検索されてもよい。また、入力画面に含まれるフィールド名に対応する、データベースに存在するフィールドは、ユーザによって手動で指定されてもよい。そのような手動の指定がなされた場合にも、生成部１４は、入力画面に含まれるフィールド名に対応するフィールドが、そのデータベースに存在すると判断してもよい。
【００７６】
そして、そのようなフィールドがデータベースに存在する場合には、生成部１４は、入力画面において、そのフィールド名に対応する入力フィールドに、データベースに存在する、そのフィールド名に対応するフィールドの各情報が入力のための選択肢として表示されるように設定してもよい。選択肢としての表示は、例えば、プルダウンメニューなどのセレクトボックスによってなされてもよく、選択肢のその他の表示方法によって行われてもよい。また、生成部１４は、各選択肢を、既存のデータベースから読み出して入力画面の入力フィールドに設定してもよく、または、既存のデータベースのフィールドと、入力画面の入力フィールドとの対応付けのみを行ってもよい。後者の場合には、入力画面の選択肢が表示される際に、既存のデータベースの対応するフィールドから各情報が読み出されて入力フィールドに選択肢として表示されてもよい。そのようにすることによって、既存のデータベースの内容が変更された場合には、入力画面の入力フィールドに選択肢として表示される情報も自動的に変更されることになる。例えば、生成部１４が、図１１で示される人事データベースにアクセス可能である場合には、上記具体例において説明した入力画面を生成する際に、生成部１４は、フィールド名「氏名」が、人事データベースにおけるフィールド名「従業員氏名」に部分一致するため、入力画面におけるフィールド名「氏名」の入力フィールドに、人事データベースにおけるフィールド名「従業員氏名」のフィールドが対応していると判断し、入力画面におけるフィールド名「氏名」の入力フィールドに、人事データベースにおけるフィールド名「従業員氏名」のフィールドの各情報「山田太郎」「鈴木次郎」「田中三郎」…がプルダウンメニューで表示されるように設定してもよい。そのような設定の行われた入力画面では、フィールド名「氏名」に対応する入力フィールドをユーザが指定した場合に、例えば、図１２で示されるように、人事データベースに含まれている各情報が選択肢として表示されることになり、ユーザがその選択肢のいずれかを選択することによって、容易に入力フィールドへの情報の入力を行うことができるようになる。なお、氏名以外の入力フィールド、例えば、部署や役職等の入力フィールドについても、同様の処理を行うことができる。また、既存のデータベースのあるフィールドから取得した各情報に重複が存在する場合（例えば、図１１の部署情報のフィールドから各情報を取得した場合など）には、ユニーク処理を行ってから選択肢としても表示を行うようにしてもよい。
【００７７】
また、上記実施の形態では、入力画面生成装置１がスタンドアロンである場合について説明したが、入力画面生成装置１は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、情報を出力したりしてもよい。
【００７８】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００７９】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００８０】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【００８１】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００８２】
また、上記実施の形態において、入力画面生成装置１に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【００８３】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における入力画面生成装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、複数のセルにそれぞれ設定されたフィールドとフィールドのフィールド名との組を１以上有する帳票の表形式のデータである表形式データが記憶される記憶部にアクセス可能なコンピュータを、表形式データを用いて、入力フィールドと、入力フィールドのフィールド名とを有する帳票の入力画面を生成する生成部、生成部によって生成された入力画面を出力する出力部として機能させるためのプログラムである。
【００８４】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
【００８５】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【００８６】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【００８７】
図１３は、上記プログラムを実行して、上記実施の形態による入力画面生成装置１を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【００８８】
図１３において、コンピュータシステム９００は、ＣＤ−ＲＯＭドライブ９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【００８９】
図１４は、コンピュータシステム９００の内部構成を示す図である。図１４において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮやＷＡＮ等への接続を提供する図示しないネットワークカードを含んでいてもよい。
【００９０】
コンピュータシステム９００に、上記実施の形態による入力画面生成装置１の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１に記憶されて、ＣＤ−ＲＯＭドライブ９０５に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１、またはネットワークから直接、ロードされてもよい。また、ＣＤ−ＲＯＭ９２１に代えて他の記録媒体（例えば、ＤＶＤ等）を介して、プログラムがコンピュータシステム９００に読み込まれてもよい。
【００９１】
プログラムは、コンピュータ９０１に、上記実施の形態による入力画面生成装置１の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【００９２】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００９３】
以上より、本発明による入力画面生成装置等によれば、表形式データに応じた入力画面を容易に生成できるという効果が得られ、帳票の入力画面を生成する入力画面生成装置等として有用である。
【符号の説明】
【００９４】
１  入力画面生成装置
１１  記憶部
１２  検知部
１３  警告出力部
１４  生成部
１５  出力部
１６  入力画面記憶部
１７  受付部
１８  表示部
【図１】
2019091383.tif 000003
【図２】
2019091383.tif 000004
【図３】
2019091383.tif 000005
【図４】
2019091383.tif 000006
【図５】
2019091383.tif 000007
【図６】
2019091383.tif 000008
【図７】
2019091383.tif 000009
【図８】
2019091383.tif 000010
【図９】
2019091383.tif 000011
【図１０】
2019091383.tif 000012
【図１１】
2019091383.tif 000013
【図１２】
2019091383.tif 000014
【図１３】
2019091383.tif 000015
【図１４】
2019091383.tif 000016