(57)【特許請求の範囲】
【請求項１】
タッチスクリーンを備えたコンピュータにおいてスプレッドシートを制御するプログラムであって、前記コンピュータに、
タッチスクリーンの所定のウィンドウに描画された線を検出する線検出ステップと、
前記線検出ステップで検出された線を、前記ウィンドウに表示されるスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識する罫線認識ステップと、
前記罫線認識ステップで認識された複数の罫線の交点によって四角形が形成されると、前記四角形の表示される領域をスプレッドシートにおける１のセルに設定するセル設定ステップと、
前記セル設定ステップでセルに設定された領域を指定したデータが入力されると、前記データをスプレッドシート上の前記セルに入力された値として受け付ける入力値受付ステップと、
を実行させることを特徴とするスプレッドシート制御プログラム。
【請求項２】
前記セル設定ステップにおいて、新たに形成された四角形の高さ又は幅が先に設定された隣接するセルの高さ又は幅と異なる場合には、前記隣接する他のセルと異なる高さ又は幅が前記隣接する他のセルの高さ又は幅と同一になるように、前記新たに形成された四角形に対応するセルの高さ又は幅を設定すること
を特徴とする請求項１記載のスプレッドシート制御プログラム。
【請求項３】
前記セル設定ステップにおいて、新たに形成された四角形の高さ又は幅が先に設定された隣接するセルの高さ又は幅が所定の範囲を超えて異なる場合には、前記隣接する他のセルと異なる高さ又は幅が前記隣接する他のセルの高さ又は幅と異なるように、前記新たに形成された四角形に対応するセルの高さ又は幅を設定すること
を特徴とする請求項１又は２記載のスプレッドシート制御プログラム。
【請求項４】
前記コンピュータに、
前記ウィンドウに表示されるスプレッドシートにセルとして設定された領域上を横断又は縦断して描画された所定の条件に合致する削除線を検出する削除線検出ステップと、
前記削除線検出ステップで検出された削除線が、セルとして設定された領域上を横断して描画された場合は前記セルの属する行を、セルとして設定された領域上を縦断して描画された場合は前記セルの属する列を削除する削除ステップと、
を実行させることを特徴とする請求項１乃至３いずれかに記載のスプレッドシート制御プログラム。
【請求項５】
前記削除線検出ステップにおいて検出される削除線の所定の条件は、同一の行又は列に属する複数のセルに対応する領域に描画された線であって、同一の行に属する場合はセルの高さの所定の比率以上の範囲、かつその行の全セル数の所定の数以上のセルにかかる波線であり、同一の列に属する場合はセルの幅の所定の比率以上の範囲、かつその列の全セル数の所定の数以上のセルにかかる波線であること
を特徴とする請求項４記載のスプレッドシート制御プログラム。
【請求項６】
前記コンピュータに、
前記ウィンドウに表示されるスプレッドシートにセルとして設定された領域上を横断又は縦断して描画された所定の条件に合致する分割線を検出する分割線検出ステップと、
前記分割線検出ステップで領域上に分割線が描画された１のセルを、前記１のセルに入力されている値を引き継ぐセルを含む２のセルに分割するセル分割ステップと、
を実行させることを特徴とする請求項１乃至５いずれかに記載のスプレッドシート制御プログラム。
【請求項７】
前記分割線検出ステップにおいて検出される分割線の所定の条件は、同一の行又は列に属する複数のセルに対応する領域に描画された線であって、同一の行に属する場合は行のナンバリングがされたセルから逆側の最端にあるセルまで引かれた直線であり、同一の列に属する場合は列のナンバリングがされたセルから逆側の最端にあるセルまで引かれた直線であること
を特徴とする請求項６記載のスプレッドシート制御プログラム。
【請求項８】
前記コンピュータに、
前記ウィンドウに表示されたスプレッドシートの行又は列を区切る罫線の選択を受け付ける罫線選択ステップと、
前記罫線選択ステップで選択を受け付けた第１の罫線が、隣接する第２の罫線と重なり合う位置に移動されたことを検出すると、前記第１の罫線によって区切られていた２のセルを１のセルに統合するセル統合ステップと、
を実行させることを特徴とする請求項１乃至７いずれかに記載のスプレッドシート制御プログラム。
【請求項９】
前記コンピュータに、
前記ウィンドウに表示されたスプレッドシートの行又は列を区切る罫線の選択を受け付ける罫線選択ステップと、
前記罫線選択ステップで選択を受け付けた第１の罫線が、隣接する第２の罫線を越える位置に移動されたことを検出すると、前記第１の罫線が横線であればセルの高さと行のナンバリングを、前記第１の罫線が縦線であればセルの幅と列のナンバリングを変更するセル変更ステップと、
を実行させることを特徴とする請求項１乃至８いずれかに記載のスプレッドシート制御プログラム。
【請求項１０】
前記コンピュータに、
前記ウィンドウに表示されたスプレッドシートの行又は列を区切る罫線の選択を受け付ける罫線選択ステップと、
前記罫線選択ステップで選択を受け付けた罫線が横線であれば、罫線の左端が行のナンバリングがされた列を越えて移動されたことを検出すると、行のナンバリングがされた列を右方向にずらして列のナンバリングを変更し、前記罫線選択ステップで選択を受け付けた罫線が縦線であれば、罫線の上端が列のナンバリングがされた行を越えて移動されたことを検出すると、列のナンバリングがされた行を下方向にずらして行のナンバリングを変更するナンバリング変更ステップと、
を実行させることを特徴とする請求項１乃至９いずれかに記載のスプレッドシート制御プログラム。
【請求項１１】
データの入出力が可能なタッチスクリーンと、
タッチスクリーンの所定のウィンドウに描画された線を検出する線検出手段と、
前記線検出手段が検出した線を、前記ウィンドウに表示されるスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識する罫線認識手段と、
前記罫線認識手段が認識した複数の罫線の交点によって四角形が形成されると、前記四角形の表示される領域をスプレッドシートにおける１のセルに設定するセル設定手段と、
前記セル設定手段によりセルに設定された領域を指定したデータが入力されると、前記データをスプレッドシート上の前記セルに入力された値として受け付ける入力値受付手段と、
を備えることを特徴とするスプレッドシート制御装置。
【請求項１２】
タッチスクリーンを備えたコンピュータによってスプレッドシートを制御する方法であって、
前記コンピュータが、タッチスクリーンの所定のウィンドウに描画された線を検出する線検出ステップと、
前記コンピュータが、前記線検出ステップで検出された線を、前記ウィンドウに表示されるスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識する罫線認識ステップと、
前記コンピュータが、前記罫線認識ステップで認識された複数の罫線の交点によって四角形が形成されると、前記四角形の表示される領域をスプレッドシートにおける１のセルに設定するセル設定ステップと、
前記コンピュータが、前記セル設定ステップでセルに設定された領域を指定したデータが入力されると、前記データをスプレッドシート上の前記セルに入力された値として受け付ける入力値受付ステップと、
を有することを特徴とするスプレッドシートの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートフォンやタブレットＰＣなどのタッチスクリーンを備えたコンピュータにおいて、スプレッドシートの作成、編集やデータの入出力を制御するスプレッドシート制御プログラム、スプレッドシート制御装置及びスプレッドシートの制御方法に関するものである。
【背景技術】
【０００２】
ＰＣ（パーソナルコンピュータ）の普及に伴い、表計算ソフトによって作成されるスプレッドシートが様々な用途で利用されるようになっている。こうしたスプレッドシートの作成や編集にかかる作業を効率化するために、共通の機能がテンプレートとして提供されるようになっている（例えば、特許文献１の段落０００４等参照）。
【０００３】
一方、近年になって、スプレッドシートはＰＣのみでなく、スマートフォンやタブレットＰＣなどコンピュータ機能を備えた携帯型デバイスでも利用されるようになっている。スマートフォンやタブレットＰＣでは、データの入出力にタッチスクリーンが用いられることが多いが、タッチスクリーン上でスプレッドシートを含めた様々なドキュメントが操作されるようになっていることに対応して、ドキュメントの移動等の操作や、視覚性を改善するための発明が開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−５３２５３５号公報
【特許文献２】特開２０１０−５１５９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献２記載の発明のように、タッチスクリーン上におけるスプレッドシートを含めたドキュメントの操作の快適性が追求されるようになっているが、それらの多くは生成されたドキュメントを表示する際の操作性や視覚性を向上させるためのものである。
【０００６】
ドキュメントの作成時や編集時におけるデータ入力の操作性を向上させるために、例えば、タッチスクリーンに表示したキーボードへのタッチで入力を受け付ける方法などが提供されているが、こうしたキーボードによる入力の操作性の改善では、スプレッドシートを対象にした表の作成や編集などの操作には対応することができない。スプレッドシートの作成や編集についても、タッチスクリーンに固有の視覚性を活かした仕組みが求められるところである。
【０００７】
本発明は、このような課題に対応するためになされたものであり、スマートフォンやタブレットＰＣなどのタッチスクリーンを備えたコンピュータにおけるスプレッドシートの作成や編集、データの入出力において、タッチスクリーンの視覚性を活かしながら、操作性に優れたスプレッドシート制御プログラム、スプレッドシート制御装置及びスプレッドシートの制御方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
このような課題を解決する本発明は、タッチスクリーンを備えたコンピュータにおいてスプレッドシートを制御するプログラムであって、前記コンピュータに、タッチスクリーンの所定のウィンドウに描画された線を検出する線検出ステップと、前記線検出ステップで検出された線を、前記ウィンドウに表示されるスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識する罫線認識ステップと、前記罫線認識ステップで認識された複数の罫線の交点によって四角形が形成されると、前記四角形の表示される領域をスプレッドシートにおける１のセルに設定するセル設定ステップと、前記セル設定ステップでセルに設定された領域を指定したデータが入力されると、前記データをスプレッドシート上の前記セルに入力された値として受け付ける入力値受付ステップと、を実行させることを特徴とするスプレッドシート制御プログラムである。
【０００９】
本発明では、入力用のウィンドウが開かれた状態でタッチスクリーンに描画された線をスプレッドシートの行又は列に平行する罫線と認識し、これらの罫線によって四角形が形成されると、その四角形をスプレッドシートにおけるセルに設定する。これによって、コンピュータのユーザがタッチスクリーンに指先等で線を描くだけで、スプレッドシートを作成することができるとともに、線で描いた四角形の部分を指定してデータの入力操作を行うことでセルへの値の入力も可能になり、タッチスクリーンの視覚性と操作性を活かしたスプレッドシート作成のインターフェイスが提供される。
【００１０】
尚、本発明において、タッチスクリーンを備えたコンピュータには、タッチスクリーンを操作することでデータの入出力が可能なスマートフォンやタブレットＰＣなどが該当する。また、本発明において、少なくとも１つの四角形が形成されるためには、横、縦それぞれ２本以上の罫線が認識されることが必要になり、最初の四角形が形成されてセルが設定された段階で、新たなスプレッドシートの作成が開始されることになる。
【００１１】
また、本発明は、前記セル設定ステップにおいて、新たに形成された四角形の高さ又は幅が先に設定された隣接するセルの高さ又は幅と異なる場合には、前記隣接する他のセルと異なる高さ又は幅が前記隣接する他のセルの高さ又は幅と同一になるように、前記新たに形成された四角形に対応するセルの高さ又は幅を設定することを特徴とすることもできる。
【００１２】
セルの高さ又は幅を上記のように設定することにすると、タッチスクリーンに描いた線と線の間隔にばらつきが生じてしまったとしても、行の高さや列の幅が統一されたスプレッドシートを自動的に作成することが可能になる。
【００１３】
さらに、本発明は、前記セル設定ステップにおいて、新たに形成された四角形の高さ又は幅が先に設定された隣接するセルの高さ又は幅が所定の範囲を超えて異なる場合には、前記隣接する他のセルと異なる高さ又は幅が前記隣接する他のセルの高さ又は幅と異なるように、前記新たに形成された四角形に対応するセルの高さ又は幅を設定することを特徴としてもよい。
【００１４】
上記のように、例えば、新たに形成された四角形の高さが隣接するセルの高さの２倍を超えれば高さが２倍となるセルを設定する、隣接するセルの高さの２分の１以下であれば高さが２分の１となるセルを設定することとすれば、ユーザが他の行や列とは高さや幅が異なる行や列を意図的に作成したいと考えた場合にも、線と線の間隔を変えて新たな線を描画するという簡単な操作でこれを実現することが可能になる。
【００１５】
さらに、本発明は、前記コンピュータに、前記ウィンドウに表示されるスプレッドシートにセルとして設定された領域上を横断又は縦断して描画された所定の条件に合致する削除線を検出する削除線検出ステップと、前記削除線検出ステップで検出された削除線が、セルとして設定された領域上を横断して描画された場合は前記セルの属する行を、セルとして設定された領域上を縦断して描画された場合は前記セルの属する列を削除する削除ステップと、を実行させることを特徴としてもよい。前記削除線検出ステップにおいて検出される削除線の所定の条件は、同一の行又は列に属する複数のセルに対応する領域に描画された線であって、同一の行に属する場合はセルの高さの所定の比率以上の範囲、かつその行の全セル数の所定の数以上のセルにかかる波線であり、同一の列に属する場合はセルの幅の所定の比率以上の範囲、かつその列の全セル数の所定の数以上のセルにかかる波線であることを特徴としてもよい。
【００１６】
上記のように、例えば、タッチスクリーンのウィンドウに表示されたスプレッドシートの行を横断する波線を描けば、その行を削除する処理を実行させることによって、行や列を削除する機能についても、タッチスクリーンの視覚性と操作性を活かしたインターフェイスを提供することができる。
【００１７】
さらに、本発明は、前記コンピュータに、前記ウィンドウに表示されるスプレッドシートにセルとして設定された領域上を横断又は縦断して描画された所定の条件に合致する分割線を検出する分割線検出ステップと、前記分割線検出ステップで領域上に分割線が描画された１のセルを、前記１のセルに入力されている値を引き継ぐセルを含む２のセルに分割するセル分割ステップと、を実行させることを特徴としてもよい。前記分割線検出ステップにおいて検出される分割線の所定の条件は、同一の行又は列に属する複数のセルに対応する領域に描画された線であって、同一の行に属する場合は行のナンバリングがされたセルから逆側の最端にあるセルまで引かれた直線であり、同一の列に属する場合は列のナンバリングがされたセルから逆側の最端にあるセルまで引かれた直線であることを特徴としてもよい。
【００１８】
上記のように、例えば、タッチスクリーンのウィンドウに表示されたスプレッドシートの行を横断する直線を描けば、その行を分割する処理を実行させることによって、行や列を分割する機能についても、タッチスクリーンの視覚性と操作性を活かしたインターフェイスを提供することができる。
【００１９】
さらに、本発明は、前記コンピュータに、前記ウィンドウに表示されたスプレッドシートの行又は列を区切る罫線の選択を受け付ける罫線選択ステップと、前記罫線選択ステップで選択を受け付けた第１の罫線が、隣接する第２の罫線と重なり合う位置に移動されたことを検出すると、前記第１の罫線によって区切られていた２のセルを１のセルに統合するセル統合ステップと、を実行させることを特徴としてもよい。
【００２０】
上記のように、ユーザが行又は列を区切る罫線をタッチスクリーンのウィンドウ上で移動させる操作を行い、移動させた罫線が隣接する罫線と重なれば、表示されている表の状態同様に隣接している２つのセルを統合することとすれば、隣接する行や列を統合する機能についても、タッチスクリーンの視覚性と操作性を活かしたインターフェイスを提供することができる。
【００２１】
さらに、本発明は、前記コンピュータに、前記ウィンドウに表示されたスプレッドシートの行又は列を区切る罫線の選択を受け付ける罫線選択ステップと、前記罫線選択ステップで選択を受け付けた第１の罫線が、隣接する第２の罫線を越える位置に移動されたことを検出すると、前記第１の罫線が横線であればセルの高さと行のナンバリングを、前記第１の罫線が縦線であればセルの幅と列のナンバリングを変更するセル変更ステップと、を実行させることを特徴としてもよい。
【００２２】
上記のように、ユーザが行又は列を区切る罫線をタッチスクリーンのウィンドウ上で移動させる操作を行い、罫線が隣接する罫線を越える位置まで移動された場合には、表示されている表の状態同様にセルの高さや幅とナンバリングを変更することとすれば、行の高さや列の幅を調整する機能についても、タッチスクリーンの視覚性と操作性を活かしたインターフェイスを提供することができる。
【００２３】
さらに、本発明は、前記コンピュータに、前記ウィンドウに表示されたスプレッドシートの行又は列を区切る罫線の選択を受け付ける罫線選択ステップと、前記罫線選択ステップで選択を受け付けた罫線が横線であれば、罫線の左端が行のナンバリングがされた列を越えて移動されたことを検出すると、行のナンバリングがされた列を右方向にずらして列のナンバリングを変更し、前記罫線選択ステップで選択を受け付けた罫線が縦線であれば、罫線の上端が列のナンバリングがされた行を越えて移動されたことを検出すると、列のナンバリングがされた行を下方向にずらして行のナンバリングを変更するナンバリング変更ステップと、を実行させることを特徴としてもよい。
【００２４】
上記のように、ユーザが行又は列を区切る罫線をタッチスクリーンのウィンドウ上で移動させる操作を行い、ナンバリングがされた行や列を越える位置に罫線の端が移動されると、ナンバリングがされた行や列も線をずらした方向にこれにあわせて移動させることとすれば、スプレッドシートの行や列の位置をずらして調整する機能についても、タッチスクリーンの視覚性と操作性を活かしたインターフェイスを提供することができる。
【００２５】
本発明は、本発明にかかるスプレッドシート制御プログラムを備えたスプレッドシート制御装置として特定することもできる。
【００２６】
つまり、本発明にかかるスプレッドシート制御装置は、データの入出力が可能なタッチスクリーンと、タッチスクリーンの所定のウィンドウに描画された線を検出する線検出手段と、前記線検出手段が検出した線を、前記ウィンドウに表示されるスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識する罫線認識手段と、前記罫線認識手段が認識した複数の罫線の交点によって四角形が形成されると、前記四角形の表示される領域をスプレッドシートにおける１のセルに設定するセル設定手段と、前記セル設定手段によりセルに設定された領域を指定したデータが入力されると、前記データをスプレッドシート上の前記セルに入力された値として受け付ける入力値受付手段と、を備えることを特徴とするスプレッドシート制御装置である。
【００２７】
尚、本発明にかかるスプレッドシート制御装置は、先に説明した本発明にかかるスプレッドシート制御プログラムの様々な要件を備えるものであってもよい。
【００２８】
本発明は、本発明にかかるスプレッドシート制御プログラムによって実行されるスプレッドシートの制御方法として特定することもできる。
【００２９】
つまり、本発明にかかるスプレッドシートの制御方法は、タッチスクリーンを備えたコンピュータによってスプレッドシートを制御する方法であって、前記コンピュータが、タッチスクリーンの所定のウィンドウに描画された線を検出する線検出ステップと、前記コンピュータが、前記線検出ステップで検出された線を、前記ウィンドウに表示されるスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識する罫線認識ステップと、前記コンピュータが、前記罫線認識ステップで認識された複数の罫線の交点によって四角形が形成されると、前記四角形の表示される領域をスプレッドシートにおける１のセルに設定するセル設定ステップと、前記コンピュータが、前記セル設定ステップでセルに設定された領域を指定したデータが入力されると、前記データをスプレッドシート上の前記セルに入力された値として受け付ける入力値受付ステップと、を有することを特徴とするスプレッドシートの制御方法である。
【００３０】
尚、本発明にかかるスプレッドシートの制御方法は、先に説明した本発明にかかるスプレッドシート制御プログラムの様々な要件を備えるものであってもよい。
【発明の効果】
【００３１】
本発明によって、スマートフォンやタブレットＰＣなどのタッチスクリーンを備えたコンピュータにおけるスプレッドシートの作成や編集、データの入出力において、タッチスクリーンの視覚性を活かしながら、操作性にも優れたスプレッドシートの入力インターフェイスが提供される。これによって、スマートフォンやタブレットＰＣでもスプレッドシートを容易に取り扱うことが可能になり、ユーザの利便性向上が期待できる。
【図面の簡単な説明】
【００３２】
【図１】本発明にかかるスプレッドシート制御プログラムが動作する携帯型デバイスの構成を示す図である。
【図２】本発明にかかるスプレッドシート制御プログラムによって、ウィンドウに描画された線を罫線として認識する手順を示す第１の図である。
【図３】本発明にかかるスプレッドシート制御プログラムによって、ウィンドウに描画された線を罫線として認識する手順を示す第２の図である。
【図４】本発明にかかるスプレッドシート制御プログラムによって、ウィンドウに描画された線を罫線として認識する手順を示す第３の図である。
【図５】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートにセルが設定された状態を示す図である。
【図６】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートのセルにデータを入力する状態を示す図である。
【図７】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートにデータが入力された後の状態を示す図である。
【図８】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの行を削除するために波線が描画された状態を示す図である。
【図９】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの行が削除された状態を示す図である。
【図１０】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの行及び列を分割するために直線が描画された状態を示す図である。
【図１１】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの行及び列が分割された状態を示す図である。
【図１２】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの列幅を変更するために罫線を移動させた状態を示す図である。
【図１３】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの列を統合するために罫線を移動させた状態を示す図である。
【図１４】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの列の位置を変更するために罫線を移動させた状態を示す図である。
【図１５】本発明にかかるスプレッドシート制御プログラムによって、スプレッドシートの列のナンバリングの位置を変更してスプレッドシートの位置をずらすために罫線を移動させた状態を示す図である。
【発明を実施するための形態】
【００３３】
本発明を実施するための形態について、図面を用いて以下に詳細に説明する。尚、以下の説明は、本発明の実施形態の一例を示したものであって、本発明はかかる実施形態に限定されるものではない。
【００３４】
図１は、本発明にかかるスプレッドシート制御プログラムが動作する携帯型デバイスの構成を示している。本発明には、スマートフォンやタブレットＰＣなどのタッチスクリーン式の携帯型デバイスが用いられるが、本発明を実施するためのハードウェアはこれらのデバイスに限定されるものではなく、タッチスクリーンによりデータの入出力が行われ、スプレッドシートの作成や編集が可能なコンピュータであればよい。
【００３５】
携帯型デバイス本体１０へのデータの入出力は、タッチスクリーン２０とあわせて他の入出力装置を備えるものであってもよいが、タッチスクリーン２０を用いて行うことが可能な構成となっている。タッチスクリーン２０には、携帯型デバイス本体１０での演算結果がスクリーン上に表示されるとともに、指先やペンでスクリーンをタップしたり、線を描画したりすることによって、データの入力が行われる。
【００３６】
携帯型デバイス本体１０は、ＣＰＵ、メインメモリ、ＨＤＤ等の補助記憶装置を備えたコンピュータである。携帯型デバイス本体１０に備えられる入出力制御部１１、表計算演算部１２はいずれも機能的に特定されるものであって、各々の機能に対応するアプリケーションプログラムが補助記憶装置からメインメモリに読み出され、ＣＰＵで演算処理を実行することによって所定の機能が実現される。
【００３７】
このうち、表計算演算部１２はスプレッドシートの作成、編集等の機能を備えた、一般的な表計算ソフトに対応するものであり、入出力制御部１１によってタッチスクリーン２０を用いたデータの入出力が行われる。
【００３８】
入出力制御部１１は、表計算演算部１２を用いる際のインターフェイスとなるもので、本発明にかかるスプレッドシート制御プログラムに対応するものである。入出力制御部１１には、いわゆる「手書きメモ」のアプリケーションに対応する、スプレッドシートを操作するためにタッチスクリーン２０に開かれたウィンドウに指先やペンで描画された点や線を認識して表示する機能が備えられていることに加えて、表計算演算部１２のインターフェイスとして、セルの設定やセルへの入力値を受け付けて表計算演算部１２に引渡す機能や、表計算演算部１２によって編集されたスプレッドシートを出力して、タッチスクリーン２０に開かれたウィンドウに表示させる機能などが備えられている。
【００３９】
データ格納部１３には補助記憶装置の所定の記憶領域が割り当てられ、各々のセルへの入力値も含めたスプレッドシートに関するデータが格納されており、スプレッドシートの作成、編集時等にはこれらのデータがメインメモリに読み出されて、スプレッドシートがタッチスクリーン２０に開かれたウィンドウに表示される。
【００４０】
以上の構成を前提にして、本発明にかかるスプレッドシート制御プログラムの動作について、図２〜図１５に示したタッチスクリーンに開かれたウィンドウに表示される罫線やスプレッドシートなどの例を用いて説明する。
【００４１】
本発明にかかるスプレッドシート制御プログラムを用いて、スプレッドシートの作成や編集、値の入力などを行いたい場合には、入出力制御部１１に対応するアプリケーションを起動して、スプレッドシートを操作するためのウィンドウをタッチスクリーン２０に開く。ここで、スプレッドシートを作成したいユーザは、図２の例に示したように、ウィンドウにスプレッドシートの罫線とするための線を、指先やペンで描画する。
【００４２】
図２の例では、少し曲がった線がウィンドウに描かれているが、ここに描かれた線をスプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識するために、線を補正する処理を行う。
【００４３】
図３は、描かれた線を補正する処理の一例を示したものであるが、まず、描かれた線の両端（ＡとＢ）を直線（図３に点線で示した線）で結ぶ。開かれているウィンドウには、スプレッドシートを作成する場合に行と列を設定するための座標軸となるＸ軸とＹ軸が定められており（これらの座標軸はウィンドウに表示されるものではない）、描かれた線の両端を結ぶ直線について、Ｘ軸、Ｙ軸との角度を演算していずれの傾きに近いか（例えば、Ｘ軸に対して４５°以内であるかどうか）を確認し、描かれた線をスプレッドシートの行又は列に対応する横又は縦の罫線のいずれに平行する罫線とするかを決定する（例えば、Ｘ軸に対して４５°以内であれば横線、４５°を超えれば縦線とする）。
【００４４】
図４の例に示したように、描かれた線がスプレッドシートの行に対応する横の罫線に平行する罫線であることが決定されると、左端のＡを起点にして、描かれた線（ＡとＢを結ぶ点線）は、スプレッドシートの行に対応する横の罫線に平行する罫線（Ａを始点とする実践）に補正して認識される。このようにして、ウィンドウに描画された線は、スプレッドシートの行又は列に対応する横又は縦の罫線のいずれかに平行する罫線として認識され、ウィンドウには補正された線が表示される。
【００４５】
尚、上記に示した方法は、罫線の認識方法の一例を示したものであって、本発明において指先やペンで描かれた線を罫線として認識する方法は、上記の方法に限定されるものではない。また、ウィンドウに描画された全ての線を罫線とは認識せず、傾きが一定以上である場合や線の長さが一定以下である場合などには、横、縦いずれの罫線とも認識することなく、入力エラーとして扱うこととしてもよい。
【００４６】
続いて、複数の罫線が認識され、図５に示したように複数の罫線の交点によって少なくとも１の四角形が形成されると、ここで表計算演算部１２が起動されて新たなスプレッドシートの作成を開始する。四角形の表示された領域には、新たに作成されたスプレッドシートにおける１のセルが設定され、このセルに対応する行と列のナンバリング（１行目とＡ列）が行われる。
【００４７】
設定されるセルの高さと幅、すなわち行の高さと列の幅をどのような値にするかは特に限定されるものではなく、形成された四角形の高さと幅をそのまま用いることとしてもよいし、プログラムにあらかじめ設定されたスプレッドシートの標準フォーマット等の高さと幅に置き換えることとしてもよい。但し、ウィンドウのサイズとの関係でセルのサイズがアンバランスにならないように、設定されるセルの高さと幅には、最大値と最小値を定めておくことが好ましい。
【００４８】
さらに、ユーザがウィンドウに新たに描いた線が、横、縦いずれかの罫線として認識され、新たな四角形が形成されると、その四角形についてもセルが設定され、対応する行や列のナンバリングが追加される。すなわち、スプレッドシートの作成が開始された後に、新たな横線が認識された場合には、その横線によって設定されるセルにより１の行が形成され、スプレッドシートに行を１行追加することになる。新たな縦線が認識された場合には、その縦線によって設定されるセルにより１の列が形成され、スプレッドシートに列を１列追加することになる。
【００４９】
ここで新たな行又は列を追加する際に、行の高さや列の幅（セルの高さや幅）をどのように設定するかは特に限定されるものではない。隣接するセルの高さや幅と同一の値に設定することとしてもよいし、新たに描画された線により形成された四角形の高さや幅が、隣接するセルの高さや幅と一定の範囲を超えて異なる場合には、隣接するセルとは異なる高さや幅を設定することとしてもよい。例えば、隣接するセルの２倍以上の高さ又は幅であれば２倍の高さ又は幅、隣接するセルの２分の１以下の高さ又は幅であれば２分の１の高さ又は幅、それ以外の場合は隣接するセルと同一の高さ又は幅に設定することとしてもよい。
【００５０】
図６は、７本の横線と５本の縦線が罫線として認識され、６行×４列のマトリックスのスプレッドシートが作成され、ウィンドウに表示されている状態を示している。このマトリックスを構成する各々の四角形がスプレッドシートのセルに該当し、ウィンドウで１のセルを、タッチスクリーン２０をタップする等の操作によって選択すると（図６では「Ｄ３」の番地にあるセルを選択）、そのセルにデータを入力できるように、計算機やキーボード、テンキーなどの画面が表示される。
【００５１】
ユーザは計算機やキーボードなどの画面をタップ等することによって、セルにデータを入力することができる。入力されたデータは、選択されたセルへの入力値として表計算演算部１２に引き渡され、メモリ等に記憶される。
【００５２】
図７は、スプレッドシートの複数のセルにデータが入力された後の状態を示したものである。数値が表示されたセルには、セルのＩＤ（セルの番地）に各々の入力値が関連付けて記憶されており（例えば、セルのＩＤ「Ａ１」には入力値「１００」が関連付けられている）、ユーザがスプレッドシートを保存する操作を行うと、各々のセルＩＤ（セルの番地）に入力値が関連付けられ、行の高さや列の幅が指定されたスプレッドシートが、ファイル形式でデータ格納部１３に格納される。
【００５３】
図８、図９は、スプレッドシートに波線を描画して行を削除する例を示している。作成したスプレッドシートの行や列を削除したい場合、ユーザは削除したい行や列に、行や列を削除するための線と定義された線（削除線）を描画する。図８の例では、削除線を波線と定義し、３行目の行を削除するために、タッチスクリーン２０を指先やペンでなぞって波線を描画している。
【００５４】
タッチスクリーン２０において、スプレッドシートのいずれかの行又は列に当たる領域に、その行又は列を構成するセルを横断又は縦断する波線が描画されたことが検出されると、波線が描画されたセルを含む行又は列を削除する処理が実行される。すなわち、削除された行や列にあるセルの入力値が消去されるとともに、行が削除された場合は削除された行より下の行を上詰めに、列が削除された場合は削除された列より右の列を左詰めに、行や列のナンバリングの変更と、各々のセルのＩＤに対応するように入力値をナンバリング変更後の位置に移動する処理が実行される。これらの処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【００５５】
図９の例では、削除された３行目のセルの入力値がすべて消去され、４行目にあった入力値は３行目に（例えば、「Ａ４」にあった「５００」は「Ａ３」に）、６行目にあった入力値は５行目に（例えば、「Ｂ６」にあった「９００」は「Ｂ５」に）、それぞれ移動される。
【００５６】
尚、ここで、どのような条件に該当する線が検出されれば削除線に該当する波線と判断するかは特に限定されるものではないが、例えば、同一の行又は列に属する複数のセルに対応する領域に描画された線であること、同一の行に属する場合はセルの高さの所定の比率以上の範囲（例えば、その行にあるセルの高さの２分の１以上にかかっていること）にあり、かつその行の全セル数の所定の数以上のセルにかかっていること（例えば、その行にあるセルの数の２分の１以上のセルにかかっていること）、同一の列に属する場合はセルの幅の所定の比率以上の範囲（例えば、その列にあるセルの幅の２分の１以上にかかっていること）にあり、かつその列の全セル数の所定の数以上のセルにかかっていること（例えば、その列にあるセルの数の２分の１以上のセルにかかっていること）を条件に判断すればよい。
【００５７】
図１０、図１１は、スプレッドシートに直線を描画して行及び列を分割する例を示している。作成したスプレッドシートの行や列を分割したい場合、ユーザは分割したい行や列に、行や列を分割するための線と定義された線（分割線）を描画する。図１０の例では、分割線を直線と定義し、３行目の行とＢ列を分割するために、タッチスクリーン２０を指先やペンでなぞって直線を描画している。
【００５８】
タッチスクリーン２０において、スプレッドシートのいずれかの行又は列に当たる領域に、その行又は列を構成するセルを横断又は縦断する直線が描画されたことが検出されると、直線が描画されたセルを含む行又は列を分割する処理が実行される。すなわち、分割された行や列では、行が分割された場合は行のナンバリングを変更するとともに、各々のセルのＩＤに対応するように入力値をナンバリング変更後の位置に移動する処理が実行される。これらの処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【００５９】
図１１の例では、３行目が２つの行に分割され、分割された行は３行目、４行目とナンバリングが行われており、もし「Ａ３」に入力値が存在していた場合には、分割された上段のセル（新たな「Ａ３」）に入力値が引き継がれる。また、分割前の「Ａ４」に入力値が存在していた場合は、表示されている入力値は分割された下段の「Ａ４」の番地のセルに表示位置が移動される。Ｂ列も同様に２つの列に分割され、分割された列はＢ列、Ｃ列とナンバリングが行われており、もし「Ｂ１」に入力値が存在していた場合には、分割された左側のセル（新たな「Ｂ１」）に入力値が引き継がれる。また、分割前の「Ｃ１」に入力値が存在していた場合は、表示されている入力値は分割された右側の「Ｃ１」の番地のセルに表示位置が移動される。
【００６０】
尚、ここで、どのような条件に該当する線が検出されれば分割線に該当する直線と判断するかは特に限定されるものではないが、例えば、同一の行又は列に属する複数のセルに対応する領域に描画された線であって、同一の行に属する場合は行のナンバリングがされたセルから逆側の最右端にあるセルまで引かれた直線であること、同一の列に属する場合は列のナンバリングがされたセルから逆側の最下端にあるセルまで引かれた直線であることを条件に判断すればよい。
【００６１】
また、分割線に該当する直線を厳密に直線であることとすると、操作性に支障が生じると考えられるため、例えば、行を削除する線であれば線のＹ座標における最大値と最小値の差が一定の範囲内にあること、列を削除する線であれば線のＸ座標における最大値と最小値の差が一定の範囲内にあることなどを条件に、描画された線が直線と判断することとすればよい。
【００６２】
図１２〜図１５は、スプレッドシートの罫線を移動させて、行や列のサイズを調整する例を示している。作成したスプレッドシートの行の高さや列の幅などのサイズを調整したい場合、ユーザはサイズを調整したい行や列を区切る罫線を、所定の操作（ウィンドウに罫線を移動させるアイテムのアイコンを表示し、そのアイテムのアイコンを選択した状態で罫線にタッチする操作等）により選択し、ウィンドウ上をドラッグして選択した罫線を移動させる。
【００６３】
図１２〜図１４の例では、Ｂ列とＣ列を区切る罫線を選択し、この罫線を右方向に平行移動させている。図１２の例に示したように、Ｃ列とＤ列を区切る罫線に到達する前の位置でドラッグをしている指先等がタッチスクリーン２０から離れたことが検出され、移動が終了した場合には、その位置に罫線が移動するようにＢ列とＣ列の幅を変更する処理が実行される。この処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【００６４】
さらに罫線を移動させて、Ｃ列とＤ列を区切る罫線に重なる位置でドラッグをしている指先等がタッチスクリーン２０から離れたことが検出され、移動が終了した場合には、図１３の例に示したように、２の列を１の列に統合し、Ｂ列の幅を罫線が移動された位置に合わせて変更するとともに（Ｂ列の幅は元の幅に戻すこととしてもよい）、これにあわせて統合されたセルの入力値の消去や変更の処理が実行される。この処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【００６５】
２の列を１の列に統合する、すなわち２のセルを１のセルに統合することによって、セルの入力値をどのように扱うかは特に限定されるものではない。例えば、図１３の例の場合に、統合前のＣ列にあったセルの入力値を消去することとしてもよいし、Ｃ列にあったセルの入力値を消去することとしてもよい。また、入力値が演算式でなければ、セル内で改行してＢ列にあった入力値とＣ列にあった入力値を二段書きにして表示することとしてもよい。
【００６６】
さらに罫線を移動させて、Ｃ列とＤ列を区切る罫線を越える位置でドラッグをしている指先等がタッチスクリーン２０から離れたことが検出され、移動が終了した場合には、図１４の例に示したように、その位置に罫線が移動するようにＢ列とＣ列の幅を変更する処理が実行される。この場合、Ｃ列の位置は元のＤ列のあった位置の一部に移動し、これに伴ってナンバリングやセルの入力値の表示位置も変更される。この処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【００６７】
尚、図１２〜図１４では、選択された罫線が縦線であり、罫線を横方向に平行移動させるケースについて説明したが、選択された罫線が横線であり、罫線を縦方向に平行移動させるケースでは、行の高さの変更、行の統合などが、列についてのケースと同様に実行される。
【００６８】
図１５は、選択した罫線を図１２〜図１４のように平行移動させるのではなく、罫線を斜め又は罫線上に沿って移動させた状態を示している。選択された罫線が縦線であれば、罫線の上端が列のナンバリングがされた行を越えて移動された位置でドラッグをしている指先等がタッチスクリーン２０から離れたことが検出され、移動が終了した場合には、図１５の例のように、列のナンバリングがされた行を下方向にずらして行のナンバリングを変更するとともに、セルの入力値の表示位置を変更する処理が実行される。この処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【００６９】
選択された罫線が横線であるケースでも同様に、罫線の左端が行のナンバリングがされた列を越えて移動された位置でドラッグをしている指先等がタッチスクリーン２０から離れたことが検出され、移動が終了した場合には、行のナンバリングがされた列を右方向にずらして列のナンバリングを変更するとともに、セルの入力値の表示位置を変更する処理が実行される。この処理結果は表計算演算部１２に引き渡され、スプレッドシートのファイルに反映される。
【符号の説明】
【００７０】
１０  携帯型デバイス本体
１１  入出力制御部
１２  表計算演算部
１３  データ格納部
２０  タッチスクリーン
【図１】
0005650564.tif 000002
【図２】
0005650564.tif 000003
【図３】
0005650564.tif 000004
【図４】
0005650564.tif 000005
【図５】
0005650564.tif 000006
【図６】
0005650564.tif 000007
【図７】
0005650564.tif 000008
【図８】
0005650564.tif 000009
【図９】
0005650564.tif 000010
【図１０】
0005650564.tif 000011
【図１１】
0005650564.tif 000012
【図１２】
0005650564.tif 000013
【図１３】
0005650564.tif 000014
【図１４】
0005650564.tif 000015
【図１５】
0005650564.tif 000016