(57)【要約】【課題】カーソル移動実績に基づいて現在位置からのカーソルの移動先を決定することで、適切なカーソル自動移動を実現できる。【解決手段】移動実績記憶部２１は、カーソルの移動実績を記憶する。カーソル移動先決定部２２は、移動実績記憶部２１に記憶される各移動実績のなかでカーソルの現在位置に関連する移動実績に基づいて、該現在位置からのカーソルの移動先を決定する。カーソル移動部２３は、カーソル移動先決定部２２で決定された移動先へカーソルを移動する。【選択図】図５
2015005228.tif 000002
【特許請求の範囲】
【請求項１】
表形式でデータを入力させる装置において、
カーソルの移動実績を記憶する移動実績記憶手段と、
該移動実績記憶手段に記憶される各移動実績のなかでカーソルの現在位置に関連する移動実績に基づいて、該現在位置からのカーソルの移動先を決定するカーソル移動先決定手段と、
該カーソル移動先決定手段で決定された移動先へカーソルを移動するカーソル移動手段と、
を有することを特徴とするカーソル移動制御装置。
【請求項２】
前記カーソル移動手段は、前記カーソルの移動を行うと共に該移動に係わる移動実績を前記移動実績記憶手段に追加記憶することを特徴とする請求項１記載のカーソル移動制御装置。
【請求項３】
前記カーソルを、前記カーソル移動手段による移動先から任意の位置へ移動させるカーソル手動移動手段と、
該カーソル手動移動手段による移動内容に基づいて、前記カーソル移動手段による移動に係わる前記移動実績を修正する移動実績修正手段と、
を更に有することを特徴とする請求項１または２記載のカーソル移動制御装置。
【請求項４】
前記カーソル移動先決定手段は、前記カーソルの現在位置に関連する移動実績が、前記移動実績記憶手段に記憶されていない場合には、直前の移動実績によりカーソル移動先を決定することを特徴とする請求項１〜３の何れかに記載のカーソル移動制御装置。
【請求項５】
前記表は、複数行×複数列の複数のセルより成る表であり、
前記カーソルの移動実績は、任意のセルから他のセルへのカーソル移動の実績であり、
前記カーソルの現在位置に関連する移動実績は、該現在位置のセルと同じ列のセルに係わる移動実績であることを特徴とする請求項１〜４の何れかに記載のカーソル移動制御装置。
【請求項６】
前記表は、複数行×複数列の複数のセルより成る表であり、
前記カーソルの移動実績は、任意のセルから他のセルへのカーソル移動の実績であり、
前記カーソルの現在位置に関連する移動実績は、該現在位置のセルと同じ行のセルに係わる移動実績であることを特徴とする請求項１〜４の何れかに記載のカーソル移動制御装置。
【請求項７】
表形式でデータを入力させる装置のコンピュータを、
カーソルの移動実績を記憶する移動実績記憶手段と、
該移動実績記憶手段に記憶される各移動実績のなかでカーソルの現在位置に関連する移動実績に基づいて、該現在位置からのカーソルの移動先を決定するカーソル移動先決定手段と、
該カーソル移動先決定手段で決定された移動先へカーソルを移動するカーソル移動手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表形式の各セルにデータを入力する方式に関する。
【背景技術】
【０００２】
従来、例えばＥＸＣＥＬ（登録商標）等のスプレッドシートにおけるワークシート（表）は、ｍ行×ｎ列(ｍ，ｎ；任意の整数)の多数のセルから成る、表形式のデータ入力画面として知られている。ワークシートの各セルにデータを入力する際の、セル間のカーソル移動は、キーボードの「矢印キー」やマウスによる「ポイント操作」によるものが主流であった。ユーザは、一連のカーソル移動パターンに規則性が認められる場合も、その規則性に従って、機械的かつ反復的にキーボードやマウスを操作する必要があり、入力操作が効率的ではなかった。
【０００３】
この様な問題に対応する、表入力のカーソル移動制御に関する公知例として、例えば特許文献１，２，３等に記載の従来技術が知られている。
特許文献１には、データを入力する必要のない項目にカーソルを移動させない方法が開示されている。特許文献２には、次に移動すべきカーソルの方向をメニュー画面により指定しておく方法が開示されている。特許文献３には、予めカーソル移動順序テーブルに登録しておいた順序でカーソル移動ができる方法等が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１−１４２６９７号公報
【特許文献２】特開平２−２８８９５９号公報
【特許文献３】特開平４−３４７７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１、特許文献２、特許文献３の何れも、表入力作業の前に、定義や設定が必要なため、手間がかかる上、ロジックが固定化しているためデータの入力や編集など刻々と変わる状況に於いて、ユーザが求めるカーソルの移動先と一致しないという問題があった。
【０００６】
本発明の課題は、カーソル移動実績に基づいて現在位置からのカーソルの移動先を決定することで、適切なカーソル自動移動を実現できるカーソル移動制御装置等を提供することである。
【課題を解決するための手段】
【０００７】
本発明のカーソル移動制御装置は、表形式でデータを入力させる装置において、カーソルの移動実績を記憶する移動実績記憶手段と、該移動実績記憶手段に記憶される各移動実績のなかでカーソルの現在位置に関連する移動実績に基づいて、該現在位置からのカーソルの移動先を決定するカーソル移動先決定手段と、該カーソル移動先決定手段で決定された移動先へカーソルを移動するカーソル移動手段とを有する。
【発明の効果】
【０００８】
本発明のカーソル移動制御装置等によれば、カーソル移動実績に基づいて現在位置からのカーソルの移動先を決定することで、適切なカーソル自動移動を実現でき、以ってユーザによる手動操作の手間等を軽減できる。
【図面の簡単な説明】
【０００９】
【図１】本例のカーソル移動制御装置の機能ブロック図である。
【図２】本例のカーソル移動制御装置の処理フローチャート図である。
【図３】（ａ）はワークシートの具体例、（ｂ）、（ｃ）は移動履歴の具体例である。
【図４】他のワークシートの具体例である。
【図５】本例のカーソル移動制御装置の機能ブロック図（その２）である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本例のカーソル移動制御装置１０の機能ブロック図である。
尚、カーソル移動制御装置１０は、例えばパソコン等の情報処理装置（コンピュータ）上で実現される。尚、カーソル移動制御装置１０は、情報処理装置上で動作するＥＸＣＥＬ（登録商標）等のスプレッドシートの１機能であると見做してもよい。尚、スプレッドシートは、一般的に、表計算ソフトまたは“表”データを意味するものであるが、ここでは表計算ソフトを意味するものに限定する。そして、“表”データを意味する用語は“ワークシート”とする。
【００１１】
また、ワークシート（表データ）は、基本的に、複数行×複数列の多数のセルから成るものであり、カーソル位置は任意のセルの位置となる。カーソルの移動は、現在のセルから他のセルへの移動となる。本手法では、過去のカーソル移動実績に基づいて、カーソルの現在位置からの移動先セルを決定して移動させる。特に、ユーザの過去のカーソル操作実績を反映させる形で、カーソルの現在位置からの移動先セルを決定して、カーソルを移動させる。
【００１２】
図１に示す例のカーソル移動制御装置１０は、カーソル移動履歴記録部１１、カーソル移動履歴修正部１２、カーソル移動先予測部１３の各種機能部を有する。また、データベース等にカーソル移動履歴１４が記憶される。
【００１３】
カーソル移動履歴記録部１１は、カーソルの移動実績をカーソル移動履歴１４に記憶する。カーソルの移動実績には、カーソルの自動移動の実績や、ユーザによる手動のカーソル操作の実績等が含まれる。
【００１４】
カーソル移動履歴修正部１２は、ユーザによる矯正操作があった場合には、当該矯正操作内容に応じてカーソル移動履歴１４の記憶内容を修正する。
これらカーソル移動履歴記録部１１、カーソル移動履歴修正部１２によって、カーソル移動履歴１４には、有効なカーソル移動履歴が記憶されることになる。尚、有効なカーソル移動履歴とは、例えば、それによって適切なカーソル移動先予測が行える移動履歴である。“適切な”とは、例えば、「ユーザが望む」ことを意味する。ユーザは、カーソル自動移動先が、自己が望む位置ではなかった場合には、矯正操作を行って、カーソルを自己が望む位置に移動させる。この矯正操作に応じて上記のように履歴が修正されることで、この矯正操作がその後のカーソル自動移動（予測移動）に反映されることになる。詳しくは後述する。
【００１５】
そして、カーソル移動先予測部１３は、カーソルの現在位置とカーソル移動履歴１４に基づいて、次のカーソル移動先を予測して、当該予測した移動先へカーソルを自動的に移動させる。カーソル移動先予測部１３は、例えば、カーソル移動履歴１４に記憶される各移動実績のなかでカーソルの現在位置に関連する移動実績に基づいて、該現在位置からのカーソルの移動先を決定してカーソルを移動させる。
【００１６】
また、カーソル移動先予測部１３は、カーソル移動履歴１４に上記“カーソルの現在位置に関連する移動実績”が記憶されていない場合には、直前の移動実績によりカーソル移動先を決定する。
【００１７】
また、上記“カーソルの現在位置に関連する移動実績”は、例えば、カーソルの現在位置のセルと同じ列のセルに係わる移動実績である。これは、後述する図３（ｂ）などに示す一例では、後述する元セル３１が“カーソルの現在位置のセルと同じ列のセル”となっているレコードである。
【００１８】
尚、この例に限らず、例えば、カーソルの現在位置のセルと同じ行のセルに係わる移動実績であってもよい。
ここで、上記パソコン等の情報処理装置は、ハードウェア構成としては、不図示のＣＰＵ、記憶部（ハードディスク、メモリ）、キーボード／マウス等の入力部、ディスプレイ等の表示部等の一般的な構成を有している。記憶部には予め所定のアプリケーションプログラムが記憶されている。ＣＰＵが、このアプリケーションプログラムを実行することで、図１に示す各種機能部１１，１２，１３の処理機能や後述する図２のフローチャート図の処理等が、実現されることになる。
【００１９】
図２は、本例のカーソル移動制御装置１０の処理フローチャート図である。
図２の処理は、ユーザが改行キー入力操作を行う毎に実行される。つまり、通常、ユーザは、カーソル位置のセル上で任意の文字／数字等のデータ入力する作業を行い、入力完了の際に改行キーを操作する。
【００２０】
尚、従来では、ユーザは、改行キーを操作後、マウスや方向キー等を操作して、次のデータ入力対象のセルへとカーソルを移動させていた。あるいは、従来では、ユーザが入力完了の改行キー操作を行うと、予め決まった所定のロジックに従って自動的にカーソルを次のセルへと移動していた。例えば、１つ下のセルへと自動的にカーソルを移動していた。
【００２１】
図２の処理は、まず、現在のカーソル位置とカーソル移動履歴１４とに基づいて、カーソル移動履歴１４に“該当するカーソル移動履歴”（該当履歴）があるか否かを判定する（ステップＳ１１）。“該当するカーソル移動履歴”とは、ここでは上記“カーソルの現在位置のセルと同じ列のセル”に係わる履歴であるものとする。よって、例えば後述する図３等の具体例の場合、仮に現在のカーソル位置が３Ａであった場合、後述する元セル３１が“２Ａ”等である履歴データが、該当することになる。詳しくは後述する。
【００２２】
“該当するカーソル移動履歴”がある場合には（ステップＳ１１，ＹＥＳ）、この該当履歴データから移動方向・移動量を判別して、これに基づいてカーソルを移動させる（ステップＳ１２）。例えば上記具体例では該当履歴データの元セル３１が“２Ａ”、先セル３２が“２Ｂ”であるので、移動方向・移動量は「右方向へ１セル分」と判定される。詳しくは後述する。よって、この例では、現在のカーソル位置３Ａから「右方向へ１セル分」移動させることになり、従ってセル３Ｂへと移動することになる。
【００２３】
一方、“該当するカーソル移動履歴”が無い場合には（ステップＳ１１，ＮＯ）、“直前のカーソル移動履歴”があるか否かを判定する（ステップＳ１３）。“直前のカーソル移動履歴”（直前履歴）とは、例えば後述する図３等の具体例の場合、先セル３２が、現在のカーソル位置である履歴データである。仮に現在のカーソル位置が２Ｃであった場合、後述する先セル３２が“２Ｃ”である履歴データが、“直前のカーソル移動履歴”である。
【００２４】
もし、“直前のカーソル移動履歴”がある場合には（ステップＳ１３，ＹＥＳ）、この直前履歴データから移動方向・移動量を判別して、これに基づいてカーソル位置を移動させる（ステップＳ１４）。例えば上記具体例では直前履歴データの元セル３１が“２Ｂ”、先セル３２が“２Ｃ”であるので、移動方向・移動量は「右方向へ１セル分」と判定される。詳しくは後述する。よって、この例では、現在のカーソル位置２Ｃから「右方向へ１セル分」移動させることになり、従ってセル２Ｄへと移動することになる。
【００２５】
尚、上記“直前のカーソル移動履歴”は、上記の例に限らず、例えばカーソル移動履歴１４で最も新しい履歴データとしてもよい。この例では、カーソル移動履歴１４に履歴データが１つも無い場合以外は、ステップＳ１３の判定はＹＥＳとなることになる。
【００２６】
一方、“直前のカーソル移動履歴”が無い場合には（ステップＳ１３，ＮＯ）、ユーザによるカーソルの手動移動操作待ち状態となる（ステップＳ１５）。そして、ユーザが、所望のカーソル移動操作を行った場合には、この手動移動操作を検出して（ステップＳ１５）、この移動履歴をカーソル移動履歴１４に追加記録する（ステップＳ１６）（これをケース１とする）。
【００２７】
また、上記ステップＳ１２又はステップＳ１４の処理が行われる場合にも、これらの処理を実行完了後、上記ステップＳ１５の手動移動操作待ち状態となる。但し、この場合には、上記ステップＳ１２又はＳ１４によるカーソル自動移動が行われているので、ユーザは、この自動移動先でよい場合には任意の入力作業を行うことになるので、この入力開始に応じてステップＳ１５の待ち状態を解除して、ステップＳ１６の処理を実行する。一方、ユーザは、上記自動操作先ではよくない場合には、カーソルを任意のセルへ手動で移動させる操作を行うことになり、ステップＳ１５でこの操作を検出することになる。
【００２８】
カーソル位置はステップＳ１２又はＳ１４による自動移動先となっており、この移動先セルでユーザが任意のデータ入力操作を開始した場合には、上記の通りステップＳ１６の処理を実行する。この場合には、ステップＳ１６では、ステップＳ１２又はＳ１４による自動移動の履歴を、カーソル移動履歴１４に追加記録することになる（これをケース２とする）。
【００２９】
一方、カーソルがステップＳ１２又はＳ１４による自動移動先セルとなっている状態で、ユーザが手動でカーソルを移動させる操作を行った場合には、ステップＳ１６では、ステップＳ１２又はＳ１４による自動移動の履歴をカーソル移動履歴１４に追加記録すると共に、更に、ユーザによる手動移動操作を検出して（ステップＳ１５）、この移動履歴をカーソル移動履歴１４に追加記録する（これをケース３とする）。
【００３０】
上記ステップＳ１６の処理が完了したら、続いて、予測の矯正操作の有無を判定する（ステップＳ１７）。上記ケース３の場合が、予測の矯正操作があった場合となる。この判定方法の具体例は後述するが、基本的にはカーソル移動履歴１４に基づいて判定することになる。
【００３１】
予測の矯正操作があった場合には（ステップＳ１７，ＹＥＳ）、カーソル移動履歴１４における該当する移動履歴データを修正する（ステップＳ１８）。これは基本的には上記ステップＳ１６で追加記録した手動操作の履歴データに基づいて、ステップＳ１２又はＳ１４による自動移動の履歴データを修正するものである。詳しくは図３の具体例を用いて後述する。
【００３２】
上記のように必要に応じてカーソル移動履歴１４の移動履歴データを修正することで、後述する図３の具体例のように、カーソル自動移動が、最初はＤ列（セル１Ｄ）まで移動していたが、その後はＤ列には移動しないようになっている。上記の通りこの例ではＤ列のセルはデータ入力対象ではないので、カーソルをＤ列に移動させることは無駄なこととなる。本手法では、この様な無駄なカーソル移動が行われないようにすることも可能となる。
【００３３】
上述した図２の処理について、以下、図３に示す具体例を参照して説明する。
ここで、図３（ａ）に、入力作業途中のワークシート（表データ）の具体例を示す。
尚、ワークシートは、ｍ行×ｎ列のセル配列で構成され、図示の例では１，２，３，４、・・・等の行番号と、Ａ，Ｂ，Ｃ，Ｄ，・・・等の列記号とによって、各セルを特定するものとする。例えば、３行目のＡ列のセルは、セル３Ａと記すものとする。
【００３４】
尚、図示の例では、１行目は各列のデータ項目名が格納される行なので、実際のデータは２行目以降となる。データ項目名は、図示の通り、名前、国語、算数、合計となっている。
【００３５】
図示の例は、生徒のテスト成績を採点者が表入力する例であり、入力は、各生徒毎に、名前→国語→算数の順となっている。そして、合計に関しては、国語と算数の点数の合計値を自動計算するので、ユーザによる入力操作を行われない。よって、任意の行（任意の生徒）に関して算数の点数までを入力完了したら、次のカーソル位置は次の行の先頭列（名前）のセルとすることが、無駄が無い、望ましいカーソル移動方法と見做してよいものである。
【００３６】
また、図３（ａ）には、カーソル移動の履歴を矢印で示している。これより、この例では、カーソル位置は、最初はセル２Ａ（山田くん）であり、そこから、２Ａ→２Ｂ→２Ｃ→２Ｄ→３Ａ→３Ｂ→３Ｃ→４Ａ→４Ｂ→４Ｃ→５Ａ（不図示）という順に移動している。
【００３７】
ここで、実線矢印はユーザによる手動操作でのカーソル移動、点線矢印は自動カーソル移動（予測移動）を示している。これより、上記カーソル移動履歴に加えて更にユーザ操作等を説明するならば、以下のようになる。但し、ここではセル４Ａへの移動までを記すものとする。尚、この例では、カーソルの手動移動は、マウスや、「→」キーや「↓」キー等の方向キーを用いるものとする。
【００３８】
（１）セル２Ａで“山田くん”の名前入力
（２）「→」キーで右側のセル２Ｂへ手動移動
（３）セル２Ｂで山田くんの国語点数入力
（４）改行キーでセル２Ｃへ予測移動
（５）セル２Ｃで山田くんの算数点数入力
（６）改行キーでセル２Ｄへ予測移動
（７）ユーザがマウスで次行の左端セル（セル３Ａ）へ手動移動（矯正操作）
（８）セル３Ａで田中さんの名前入力
（９）改行キーでセル３Ｂへ予測移動
（１０）セル３Ｂで田中さんの国語点数入力
（１１）改行キーでセル３Ｃへ予測移動
（１２）セル３Ｃで田中さんの算数点数入力
（１３）改行キーでセル４Ａへ予測移動
ここで、上記（７）の矯正操作が行われた後の上記ステップＳ１６の処理によって、カーソル移動履歴１４は、図３（ｂ）に示す状態となる。但し、その直後にステップＳ１８の処理が行われることで、カーソル移動履歴１４は、図３（ｃ）に示す内容へと修正されることになる。つまり、この例では、カーソル移動履歴１４に、（６）の予測移動の履歴と（７）の矯正移動の履歴とが記録された状態で、ステップＳ１８の処理が行われることになる。これによって、例えば、（６）に係わる履歴データが、（７）の矯正操作の履歴データに基づいて修正されることになる。
【００３９】
以下、図３（ｂ）、（ｃ）も参照して、上記（１）〜（１３）の各操作／処理に伴うカーソル移動履歴１４の更新例について説明する。
まず、上記（１）の段階ではカーソル移動履歴１４には履歴データは存在しない状態である。そして、（１）の名前入力後にユーザが改行キーを操作することで、図２の処理が実行される。この場合、履歴データは存在しないので、ステップＳ１１、Ｓ１３の判定は何れもＮＯとなり、ステップＳ１５の操作待ち状態で上記（２）のユーザ操作が行われることになる。そして、ユーザ操作が検出されると（ステップＳ１５）、これに応じたステップＳ１６の処理により、カーソル移動履歴１４には図３（ｂ）に示す１つ目の履歴データ（先頭レコード）が記録されることになる。
【００４０】
ここで、カーソル移動履歴１４は、図３（ｂ）等に示す例では、元セル３１、先セル３２、手／予３３等から成る。元セル３１は移動元のセルであり、先セル３２は移動先のセルである。手／予３３は、手動操作によるカーソル移動の場合には“手”が格納され、予測移動（自動移動）の場合には“予”が格納される。
【００４１】
上記（２）では、セル２Ａからセル２Ｂへ手動でカーソル移動が行われるので、図３（ｂ）に示すように１つ目の履歴データは、元セル３１＝２Ａ、先セル３２＝２Ｂ、手／予３３＝手となる。尚、この手動移動操作は、矯正操作ではないので（ステップＳ１７，ＮＯ）、ステップＳ１８の処理は実行されない。尚、矯正操作であるか否かの判定方法は、後述する。
【００４２】
次に、上記（４）の改行キー操作に応じた図２の処理では、ステップＳ１１の判定はＮＯとなるがステップＳ１３の判定はＹＥＳとなり、ステップＳ１４では、直前のカーソル移動履歴である上記１つ目の履歴データに基づいて移動方向・移動量は「右方向へ１セル分」と判定されて、セル２Ｂからセル２Ｃへの予測移動が行われることになる。そして、ここではユーザによる矯正は行われないので、ステップＳ１６の処理によって、カーソル移動履歴１４には図３（ｂ）に示す２つ目の履歴データが記録されることになる。図示の通り、２つ目の履歴データは、元セル３１＝２Ｂ、先セル３２＝２Ｃ、手／予３３＝予となる。
【００４３】
次に、上記（６）の改行キー操作に応じた図２の処理では、ステップＳ１１の判定はＮＯとなるがステップＳ１３の判定はＹＥＳとなり、ステップＳ１４でセル２Ｃからセル２Ｄへの予測移動が行われることになる。但し、ここではユーザによる矯正操作が行わるので、ステップＳ１５で手動のカーソル移動操作が検出された後のステップＳ１６の処理によって、カーソル移動履歴１４には図３（ｂ）に示す３つ目と４つ目の履歴データが記録されることになる。
【００４４】
３つ目は予測移動に応じた履歴データであり、４つ目はユーザによる矯正操作に応じた履歴データである。よって、図示の通り、３つ目の履歴データは、元セル３１＝２Ｃ、先セル３２＝２Ｄ、手／予３３＝予となり、４つ目の履歴データは、元セル３１＝２Ｄ、先セル３２＝３Ａ、手／予３３＝手となる。
【００４５】
そして、この場合には、ステップＳ１７の判定がＹＥＳとなり、ステップＳ１８の処理が行われることで、カーソル移動履歴１４は図３（ｂ）に示す状態から図３（ｃ）に示す状態へと修正されることになる。
【００４６】
ここで、まず、ステップＳ１７の判定方法の具体例について説明する。この判定は、基本的には、カーソルの予測移動に対してユーザが矯正操作を行ったか否かを判定するものである。例えば、予測移動とユーザ操作が連続で現れた場合はユーザによる矯正操作ありと判定する。よって、例えば、カーソル移動履歴１４において、まず、最新の履歴データの手／予３３が“手”であるか否かを判定し、“手”である場合にはその直前の履歴データの手／予３３が“予”であるか否かを判定し、“予”である場合にはステップＳ１７の判定はＹＥＳとする。勿論、この例に限らない。
【００４７】
また、ステップＳ１８の処理は、基本的には、最新の履歴データ（矯正操作による移動の履歴データ）とその直前の履歴データ（予測移動の履歴データ）とを、これらを合体させた新たな履歴データに置き換えるものとする。つまり、最新の履歴データの先セル３２とその直前の履歴データの元セル３１とを用いた新たな履歴データを生成して記憶する。最新の履歴データとその直前の履歴データは削除する。尚、上記新たな履歴データの手／予３３は、常に“手”とするものとしてもよい。
【００４８】
上記処理は、換言すれば、例えば、矯正操作移動の履歴データを用いて、予測移動の履歴データを修正して、矯正操作移動の履歴データは削除するものと見做してもよい。例えば一例としては、予測移動の履歴データの先セル３２のデータを、矯正移動の履歴データの先セル３２に代入する。上記の例では、３つ目の履歴データにおける先セル３２を、“３Ａ”に修正することになる。また、この方法の場合は、予測移動の履歴データの手／予３３は、常に“手”に修正するものとしてもよい。そして、上記の例では、最後に、４つ目の履歴データを削除する。
【００４９】
あるいは逆に考えても良い。すなわち、予測移動の履歴データを用いて、矯正操作移動の履歴データを修正して、予測移動の履歴データは削除するものであってもよい。例えば一例としては、予測移動の履歴データの先セル３２のデータを、矯正操作移動の履歴データの先セル３２に代入する。上記の例では、４つ目の履歴データにおける元セル３１を、“２Ｃ”に修正することになる。尚、この方法の場合は、矯正操作移動の履歴データの手／予３３は、常に“手”となっているはずであるので、修正処理は必要ない。そして、上記の例では、最後に、３つ目の履歴データを削除する。
【００５０】
何れにしても、上記の例ではステップＳ１８の処理によって、図３（ｃ）に示すように、元セル３１が２Ｃで先セル３２が３Ａである履歴データが記憶された状態となる。
これより、その後、現在のカーソル位置がＣ列のセル（例えばセル３Ｃ等）にあるときには、入力完了のリターンキー入力等に応じて図２の処理が実行されると、ステップＳ１２の処理によって図３（ａ）に点線矢印で示すように、セル３Ｃからセル４Ａに自動移動することになる。つまり、正しい位置へと移動することになる。換言すれば、セル３Ｃからセル３Ｄに自動移動する場合には、ユーザがセル３Ｄからセル４Ａへと手動でカーソル移動させるという修正作業が必要になるが、この様な手間が掛からなくて済むようになる。勿論、これは、現在のカーソル位置がセル４Ｃの場合や不図示の他のＣ列のセルの場合も、略同様である。
【００５１】
尚、現在のカーソル位置が例えばセル３Ｃのときの図２の処理では、まず、ステップＳ１１では、後述する処理例の場合、カーソル移動履歴１４に元セル３１がＣ列である履歴データが存在するか否かを判定することになるので、図３（ｃ）の３つ目の履歴データが該当し、判定はＹＥＳとなる。そして、ステップＳ１２では、３つ目の履歴データに基づいて移動方向・移動量が判定されることになり、例えば「１つ下方向、且つ、２つ左方向」等と判定されることになる。これより、上記の通り、セル３Ｃからセル４Ａに予測移動することになる。
【００５２】
上述したように、予測移動とユーザ操作が連続で現れた場合はユーザによる矯正操作有りと判断し、履歴データを修正する。これによって、その後、修正後の履歴データを用いることで、予測精度を向上させることができる。
【００５３】
また、上記ステップＳ１１の判定処理の具体例を説明する。上記“該当するカーソル移動履歴”とは、例えばその元セル３１の列が、現在のカーソル位置の列と同一である履歴データである。例えば図３（ｃ）に示す例において、現在のカーソル位置がセル３Ａである場合には、その列は“Ａ”であることから、元セル３１が“２Ａ”である履歴データ（１番目の履歴データ）が、上記“該当するカーソル移動履歴”となる。つまり、その元セル３１の列が、現在のカーソル位置の列と同一である履歴データが、上記“該当するカーソル移動履歴”となる。尚、“該当するカーソル移動履歴”が複数ある場合には、そのなかで最新のものを用いて、ステップＳ１２の処理を実行するようにしてもよい。
【００５４】
尚、上記“該当するカーソル移動履歴”は、上記のような列が同一の例に限らず、例えば行が同一等であっても構わない。つまり、図３（ａ）や図４に示す表形式では、各列にデータ項目があるのでユーザは行単位でデータを入力するが、ユーザが列単位でデータを入力するような表形式の場合には、カーソルの移動の仕方も変わることになる。つまり、例えば、１Ｂ→２Ｂ→３Ｂ→４Ｂ→１Ｃ→２Ｃ・・・等というカーソルの移動が行われるような表形式も有り得る。この様な例の場合、上記のように、“該当するカーソル移動履歴”は、その元セル３１が、現在のカーソル位置と同じ行である履歴データ等としてもよい。
【００５５】
また、図３（ａ）のワークシート入力作業が完了して、続いて例えば図４に示すような別のワークシートの入力作業に移る際には、ユーザが所定の操作を行うことで、カーソル移動履歴１４がリセット（データ消去）されるようにしてもよい。これによって、図３（ａ）のワークシートに応じた履歴データによってユーザの意図しないカーソル移動予測が行われてしまう事態を防止できる。
【００５６】
尚、図４に関しても、カーソル移動例を、実線矢印（ユーザ操作）と点線矢印（自動移動）とで示すが、これについては特に説明しないものとする。
尚、ある程度以上連続して手／予３３＝予の履歴データがカーソル移動履歴１４に格納された場合には、換言すればユーザによる矯正操作が無くなったと見做してよい状況になったら、カーソル移動履歴１４への履歴の記録処理を中止するようにしてもよい。
【００５７】
以上説明したように、本例のカーソル移動制御装置１０等によれば、ワークシート等の表のデータ入力作業に伴うセル間のカーソル移動を、ユーザのカーソル操作実績に基づいて自動的に行う。例えば、表入力に於けるユーザによるカーソル移動の規則性に着目する。つまり、ｍ行×ｎ列のセル配列の表に対するデータ入力作業は、例えば、行単位で順次行われるものである。つまり、任意の行に対してデータ入力を完了したら、その次の行のデータ入力作業に移るものである。また、任意の行に対するデータ入力に伴うカーソル移動は、他の行に関しても同様に行われるものである。
【００５８】
例えばこのようなカーソル移動の規則性を前提として、ワークシート等の任意の行に係わるカーソル自動移動が、例えばワークシートの１行目に係わるカーソル移動実績と同じとなるように制御する。これを実現する為に、既に説明したように、例えば現在のカーソル位置と同じ列に係わるカーソル移動実績や、直前のカーソル移動実績等に基づいて、同様のカーソル移動が行われるようにする。この様にすることで、適切なカーソル自動移動が実現でき、以って表へのデータ入力作業を効率化することができる。
【００５９】
ユーザは、表入力作業の前に特別な定義や設定をすることなく、例えばワークシート等の最初の１行だけは手動によるカーソル移動操作や上記矯正操作等の手作業を一部で行うだけで、ワークシート等の２行目以降は適切な自動カーソル移動が実現できる。
【００６０】
また、所定の指示などに応じてカーソル移動実績データをリセットすることで、入力様式の変更など刻々と変わる作業環境にも柔軟に対応できる。
最後に、図５に、本例のカーソル移動制御装置１０の機能ブロック図（その２）を示しておく。尚、図５は、図１とは異なる観点から、本例のカーソル移動制御装置１０の各種機能を図示するものであり、従って図１と図５とは実質的に略同様であると見做しても構わない。
【００６１】
図５に示す例では、カーソル移動制御装置１０は、移動実績記憶部２１、カーソル移動先決定部２２、カーソル移動部２３、カーソル手動移動部２４、移動実績修正部２５等の各種処理機能部を有する。
【００６２】
移動実績記憶部２１は、カーソルの移動実績を記憶する。
カーソル移動先決定部２２は、移動実績記憶部２１に記憶される各移動実績のなかでカーソルの現在位置に関連する移動実績に基づいて、該現在位置からのカーソルの移動先を決定する。
【００６３】
カーソル移動部２３は、カーソル移動先決定部２２で決定された移動先へカーソルを移動する。
また、カーソル移動部２３は、上記のカーソルの移動を行うと共に該移動に係わる移動実績を移動実績記憶部２１に追加記憶する。
【００６４】
また、カーソル手動移動部２４は、カーソルを、カーソル移動部２３による移動先から任意の位置へ移動させる。つまり、ユーザにカーソルを任意の位置へ移動させる操作を行わせる。特に、上記矯正操作を行わせるものである。
【００６５】
移動実績修正部２５は、カーソル手動移動部２４による移動内容に基づいて、上記カーソル移動部２３による移動に係わる移動実績を修正する。
また、上記カーソル移動先決定部２２は、上記カーソルの現在位置に関連する移動実績が、移動実績記憶部２１に記憶されていない場合には、直前の移動実績によりカーソル移動先を決定する。
【００６６】
尚、既に述べたように、カーソル移動制御装置１０は、ハードウェア構成としては、不図示のＣＰＵ、記憶部（ハードディスク、メモリ）、キーボード／マウス等の入力部、ディスプレイ等の表示部等の一般的な構成を有している。記憶部には予め所定のアプリケーションプログラムが記憶されている。ＣＰＵが、このアプリケーションプログラムを実行することで、図５に示す移動実績記憶部２１、カーソル移動先決定部２２、カーソル移動部２３、カーソル手動移動部２４、移動実績修正部２５等の各種処理機能部を実現できる。
【００６７】
上述したように、本例のカーソル移動制御装置１０等によれば、カーソル移動実績に基づいて現在位置からのカーソルの移動先を決定することで、適切なカーソル自動移動を実現でき、以ってユーザによる手動操作の手間等を軽減でき、表形式のデータ入力作業効率を向上させることができる。特に、カーソル移動実績にはユーザによる矯正操作が反映されるので、ユーザが望む位置へとカーソルを自動移動させることができる。
【符号の説明】
【００６８】
１０  カーソル移動制御装置
１１  カーソル移動履歴記録部
１２  カーソル移動履歴修正部
１３  カーソル移動先予測部
１４  カーソル移動履歴
２１  移動実績記憶部
２２  カーソル移動先決定部
２３  カーソル移動部
２４  カーソル手動移動部
２５  移動実績修正部
【図１】
2015005228.tif 000003
【図２】
2015005228.tif 000004
【図３】
2015005228.tif 000005
【図４】
2015005228.tif 000006
【図５】
2015005228.tif 000007