(57)【要約】  スプレッドシートテーブルに結びつけたフォームを自動的に生成するための技法が、本明細書において開示される。フォームは、スプレッドシートテーブル上でリストされるデータ属性に対応するデータ入力フィールドを有してもよい。フォームは、アイコンまたは他のオブジェクト指向ユーザーインタフェースなどのようなユーザーインタフェースによってスプレッドシートテーブルと結びつけてもよい。このように、フォームを表示するコマンドを、ポインティングデバイスの１クリックにより与えることができる。一般に、フォームを、選択された入力からのデータを表示するために、スプレッドシートテーブルの各入力と結びつけることができる。新規のデータの入力または既存のデータの修正に加えて、スプレッドシートテーブル内の既存のデータの閲覧もフォーム上に包含されたナビゲーション手段を介して実行されてもよい。ウェブページ内へスプレッドシートテーブルまたはワークブックに結びつけたフォームを配信するための技法も、本明細書に開示される。
2010541081.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターに、
スプレッドシートテーブル（２０２）を生成する手順と、
前記スプレッドシートテーブル（２０２）を表すフォーム（３００）を生成する手順と、
前記スプレッドシートテーブル（２０２）に前記フォーム（３００）を結びつける手順と、
前記スプレッドシートテーブル（２０２）に結びつけられたフォーム（３００）を表示するコマンドを受信する手順と、
前記スプレッドシートテーブルに結びつけられたフォームを応答して表示する手順と
を実行させるためのプログラムを記録したコンピューター読み取り可能な記憶媒体。
【請求項２】
前記フォーム（３００）に入力された前記スプレッドシートテーブル（２０２）の新規のデータを格納する手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項３】
前記スプレッドシートテーブル（２０２）の指定された入力のための前記フォーム（３００）にアクセスするために前記スプレッドシートテーブル（２０２）上にユーザーインタフェースを提供する手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項４】
前記スプレッドシートテーブル（２０２）のデータ属性に対応するデータ入力フィールドを含むために前記フォーム（３００）をフォーマットする手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項５】
前記スプレッドシートテーブル（２０２）の指定された入力のための前記スプレッドシートテーブル（２０２）のデータ属性に対応する前記データ入力フィールド内の既存のデータを表示する手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項４に記載のコンピューター読み取り可能な記憶媒体。
【請求項６】
前記スプレッドシートテーブル（２０２）の指定された入力のための前記スプレッドシートテーブル（２０２）のデータ属性に対応する前記データ入力フィールド内の修正されたデータを受信する手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項４に記載のコンピューター読み取り可能な記憶媒体。
【請求項７】
前記スプレッドシートテーブル（２０２）の指定された入力のための前記スプレッドシートテーブル（２０２）のデータ属性に対応する前記データ入力フィールド内の新規のデータを受信する手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項４に記載のコンピューター読み取り可能な記憶媒体。
【請求項８】
前記スプレッドシートテーブル（２０２）の異なる入力へナビゲートするための前記フォーム（３００）の手段を提供する手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項９】
前記スプレッドシートテーブル（２０２）に結びつけられたフォーム（３００）を表示する手順は、前記スプレッドシートテーブル（２０２）の新規の項目の入力を可能にする新規の項目のビューを表示する手順を含むことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項１０】
前記スプレッドシートテーブル（２０２）に結びつけられたフォーム（３００）を表示する手順は、前記スプレッドシートテーブル（２０２）の現在の項目の閲覧を可能にする閲覧のビューを表示する手順を含むことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項１１】
前記閲覧のビューを表示する手順は、１つの入力から別の入力へナビゲートするためのナビゲートコントロールを表示する手順を含むことを特徴とする請求項１０に記載のコンピューター読み取り可能な記憶媒体。
【請求項１２】
ウェブページに前記フォーム（３００）を埋め込む手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項１に記載のコンピューター読み取り可能な記憶媒体。
【請求項１３】
前記フォーム（３００）は、クリップボードツールを用いて、前記ウェブページに埋め込まれることを特徴とする請求項１２に記載のコンピューター読み取り可能な記憶媒体。
【請求項１４】
前記フォーム（３００）は、前記ウェブページへの前記フォーム（３００）に対応するコードを直に埋め込むことにより、前記ウェブページに埋め込まれることを特徴とする請求項１２に記載のコンピューター読み取り可能な記憶媒体。
【請求項１５】
コンピューターに、
スプレッドシートテーブル（２０２）に結びつけたフォーム（３００）を生成する手順であって、前記フォーム（３００）は、前記スプレッドシートテーブル（２０２）のデータ属性に対応するデータ入力フィールドを含む、生成する手順と、
前記データ入力フィールドの各々のデータ値を含む送信されたフォーム（３００）の入力を受信する手順と、
前記スプレッドシートテーブル（２０２）の前記データ属性に一致する前記スプレッドシートテーブル（２０２）に対応するセルに、前記フォーム（３００）の入力から各データ値を入力する手順と、
前記入力されたデータ値を含むスプレッドシートテーブル（２０２）を格納する手順と
を実行させるためのプログラムを記録したコンピューター読み取り可能な記憶媒体。
【請求項１６】
ウェブページに前記フォーム（３００）を埋め込む手順を実行させるためのプログラムをさらに記録したことを特徴とする請求項１５に記載のコンピューター読み取り可能な記憶媒体。
【請求項１７】
前記フォーム（３００）は、クリップボードツールを用いて、前記ウェブページに埋め込まれることを特徴とする請求項１６に記載のコンピューター読み取り可能な記憶媒体。
【請求項１８】
前記フォーム（３００）は、前記ウェブページへの前記フォーム（３００）に対応するコードを直に埋め込むことによって、前記ウェブページに埋め込まれることを特徴とする請求項１６に記載のコンピューター読み取り可能な記憶媒体。
【請求項１９】
前記フォーム（３００）を生成する手順は、前記スプレッドシートテーブル（２０２）の新規の項目の入力を可能にする新規の項目のビューを表示する手順を含むことを特徴とする請求項１５に記載のコンピューター読み取り可能な記憶媒体。
【請求項２０】
スプレッドシートテーブル（２０２）に結びつけたフォーム（３００）を生成する方法であって、
前記スプレッドシートテーブル（２０２）を生成するステップと、
前記スプレッドシートテーブル（２０２）を表す前記フォーム（３００）を生成するステップと、
前記スプレッドシートテーブル（２０２）に前記フォーム（３００）を結びつけるステップと、
前記スプレッドシートテーブル（２０２）に結びつけられたフォーム（３００）を表示するコマンドを受信するステップと、
前記スプレッドシートテーブル（２０２）に結びつけられたフォーム（３００）を応答して表示するステップと
を備えたことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スプレッドシートアプリケーションに関し、より詳細には、スプレッドシートアプリケーションにおけるフォームとしてのテーブルの自動生成および配信に関する。
【背景技術】
【０００２】
スプレッドシートアプリケーションは、データの入力、構成、管理、閲覧、格納および検索に、便利な、簡単な、直観的な方法を提供する、一般的に用いられるプログラムである。通常、スプレッドシートアプリケーションは、データを、行と列とを有するテーブルに構成する。通常、各列は、個別のデータ属性を表わす。例えば、慈善寄付に対応するデータを含む「寄付金」テーブルは、例えば名前（例えば、寄贈者の名前）、所番地、市、州、郵便番号、電子メールおよび寄付金額などの列を有することがある。列の１つは、テーブルの行を順に並べるのに用いられる重要な列であることがある。例えば、寄付金テーブルの重要な列は、名前の列であることがある。通常、テーブルの各行は、重要な個別の列の入力に対応するデータを含む。例えば、寄付金テーブルの名前の列の第１入力が、「ジョン・ドウ」である場合、寄付金テーブルの第１の行は、ジョン・ドウの所番地、市、州、郵便番号、電子メールおよび寄付金を含むことがある。
【０００３】
従来のスプレッドシートの１つの欠点は、テーブルが必ずしもデータを入力または閲覧するのに最も便利な構造であるとは限らないということである。例えば、ユーザーが個別のデータテーブルの行にデータを入力しているまたは閲覧している場合、ユーザーは、その行のデータのみを閲覧したいと望むことがある。しかし、通常、テーブルフォーマットは、ユーザーに、一度にただ１行のみを表示することよりもむしろ、余儀なくテーブルの複数の行を閲覧させる。さらに他の複数の行が表示されている場合に、ユーザーが１行に専念して集中することは、困難であることおよび訳のわからないことが多い。加えて、テーブルのセルが対応する列のヘッダーまたは重要な列の入力に必ずしも直に隣り合うとは限らないので、ユーザーが個別のセルが対応する個別の列のヘッダーまたは重要な列の入力を決定することは、困難であることが多く、データを、間違った列へ入力させることを生じることがある。
【０００４】
フォームは、データを入力して閲覧するための代替の構造である。フォームは、個別のデータ属性に各々対応するいくつかのデータ入力フィールドを含むことができる。例えば、慈善寄付に対応するデータを含む「寄付金」フォームは、例えば、名前（例えば、寄贈者の名前）、所番地、市、州、郵便番号、電子メールおよび寄付金額などのデータ入力フィールドを有することができる。通常、フォームの各「入力」は、フォームに含まれるデータ入力フィールドの各々に対して対応するデータ値を含む。複数の行を表示するテーブルとは異なり、通常、フォームは、一度にただひとつのフォーム入力（レコードともいう）を表示する。加えて、テーブルの場合とは異なり、通常、フォームの各データ入力フィールドは、対応するデータ入力フィールドを命名するまたは識別するラベルに隣接して表示される。フォーム（特に、ユーザーがスプレッドシートテーブルのデータを追加するかまたは編集するために実際にスプレッドシートテーブルを開く必要がない配信フォーム）の別の利点は、個人ユーザーがスプレッドシートテーブル内のデータの全セットを閲覧することを必ずしも可能にせずに、個人ユーザーがスプレッドシートテーブルへデータを入力するための仕組みを提供するということである。この「個人の」データ入力は、入力されるデータが事実上個人または私的なものである場合、特に有利であろう。例えば、人々の調査および／またはあるトピックに関する世論を収集する場合などである。したがって、テーブルがいくつかの利点を与える一方、テーブルと結合してフォームを用いることは、有利であろういくつかのシナリオがある。
【発明の概要】
【０００５】
本明細書において、スプレッドシートテーブルに結びつけられたフォームを自動的に生成するための技法を開示する。１つの例示的な技法は、スプレッドシートテーブルを表すフォームを生成することを含み、生成されたフォームは、スプレッドシートテーブル上でリストされたデータ属性に対応するデータ入力フィールドを有する。フォームを、例えば、アイコンまたはユーザーインタフェース指向の他のオブジェクトなど、ユーザーインタフェースを用いてスプレッドシートテーブルに結びつけることができる。このようにして、フォームを表示するコマンドを、ポインティングデバイスの１クリックにより提供できる。一般的に、フォームを、スプレッドシートテーブルの中の各入力に結びつけることができるので、選択された入力からのデータを表示する。選択された入力があらゆるデータを含まない場合、フォームを、ブランクであるとすることができ、新しいデータを、フォームによりスプレッドシートテーブルに入力できる。新しいデータの入力または既存のデータの修正に加えて、さらに、スプレッドシートテーブルの既存のデータの閲覧を、フォームに含まれるナビゲーションメカニズムを介して実行できる。
【０００６】
さらに、本明細書において、スプレッドシートテーブルまたはワークブックに結びつけられたフォームをウェブページに配信するための技法を開示する。ウェブページへのフォーム用のコードを埋め込むことによって、接続されたスプレッドシートサービスを利用して、スプレッドシートテーブルの情報を更新できる。
【０００７】
この発明の概要を与えることにより、下の発明を実施するための形態においてさらに説明される、簡略化された形にて概念の選択を導入する。この発明の概要は、主張される主題の重要な特徴または本質的な特徴を識別するのを意図せず、主張される主題の範囲を決定する助力として用いることも意図しない。
【０００８】
添付の図面に関してする次の発明を実施するための形態の読後に、説明的な実施形態を、よりよく理解するであろう。
【図面の簡単な説明】
【０００９】
【図１】例示的なコンピューティングデバイスのブロック図である。
【図２】スプレッドシートテーブルの各入力に結びつけたフォームがスプレッドシートテーブル覆う別個のウィンドウに示される、例示的なスプレッドシートテーブルを表すスクリーン表示の表現である。
【図３】各入力に結びつけたフォームによりスプレッドシートテーブルへデータを入力する方法のステップを表すフローチャートである。
【図４】フォームに入力されたデータがフォームに結びつけられたスプレッドシートテーブルに自動的に供給されるよう、ウェブページのフォームを配信するシステムを表すブロック図である。
【図５】ウェブページに配信されたフォームによりスプレッドシートテーブルへデータを自動的に入力して更新する方法のステップを表すフローチャートである。
【発明を実施するための形態】
【００１０】
発明の主題は法的要件を満たすために明細に記述される。しかしながら、記述はそれ自身、この特許の範囲を限定するようには意図されない。むしろ、現在または未来の他の技術と共に、本明細書内に記述されているものに同様、異なるステップまたはステップの組み合わせを含むために、請求項の内容も他の方法で具体化できることを想定する。
【００１１】
図１は、上述した主題を実装することができる適したコンピューティングシステム環境１００の一例を例示する。コンピューティングシステム環境１００は、適したコンピューティング環境の単なる１つの例であり、上述した主題の利用または機能の範囲に関していかなる制限を示唆することを意図されない。コンピューター環境１００は、例示的なオペレーティング環境１００に図示されたコンポーネントのあらゆる１つまたは組み合わせに関する、あらゆる従属関係または必要条件を有していると解釈されるべきでない。
【００１２】
図１を参照すると、コンピューティングシステム環境１００は、コンピューター１１０の形において汎用コンピューティングデバイスを含む。コンピューター１１０のコンポーネントは、制限されないが、処理装置１２０、システムメモリ１３０、および処理装置１２０へのシステムメモリを含む様々なシステムコンポーネントを結合するシステムバス１２１を含むことができる。システムバス１２１は、メモリバスもしくはメモリコントローラー、周辺バス、およびいろいろなバスアーキテクチャのどれでも用いるローカルバスを含むいくつかの型のバスアーキテクチャのどれでもでもよい。例として、制限されないが、上記のアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス（メザニンバスとしても知られている）を含む。
【００１３】
通常、コンピューター１１０は、いろいろなコンピューター読み取り可能な媒体を含む。コンピューター読み取り可能な媒体は、コンピューター１１０によってアクセスすることができ、揮発性媒体と不揮発性媒体との両方、取外し可能および固定の媒体を含むあらゆる利用可能な媒体であるとすることができる。例として、制限されないが、コンピューター読み取り可能な媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、例えばコンピューター読み取り可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納するためのあらゆる方法または技術において実装される、揮発性と不揮発性との両方の、取外し可能および固定の媒体を含む。コンピューター記憶媒体は、制限されないが、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリもしくは他のメモリ技術、ＣＤＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ：デジタル多用途ディスク）もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置デバイス、または望まれる情報を格納するために用いることができてコンピューター１１０がアクセスできる他のあらゆる媒体を含む。通常、通信媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または例えば搬送波もしくは他の転送メカニズムなどの変調されたデータ信号における他のデータを包含して、あらゆる情報配送媒体を含む。用語「変調されたデータ信号」は、信号内の情報をエンコードするような方式で設定または変化されたその特性の１つ以上の信号を意味する。例として、制限されないが、通信媒体は、例えば有線ネットワークまたは直接有線接続などの有線媒体、および例えば音波、ＲＦ、赤外線、他の無線媒体などの無線媒体を含む。さらに、上述のどれの組み合わせでも、コンピューター読み取り可能な媒体の範囲内に含むべきである。
【００１４】
システムメモリ１３０は、ＲＯＭ１３１およびＲＡＭ１３２などのような揮発性および／または不揮発性メモリの形でコンピューター記憶媒体を含む。起動中のようなコンピューター１１０内の要素間の情報を転送することを支援する基本ルーチンを含むＢＩＯＳ１３３（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ：バイオス、基本入出力システム）は、典型的にはＲＯＭ１３１内に格納される。ＲＡＭ１３２は、典型的には、処理装置１２０に直接アクセス可能なおよび／または処理装置１２０によって目下作動される、データおよび／またはプログラムモジュールを含んでいる。例として、制限されないが、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００１５】
コンピューター１１０は、さらに他の取外し可能および／または固定の、揮発性および／または不揮発性のコンピューター記憶媒体を含んでもよい。単に具体例として、図１は、固定の不揮発性の磁気媒体に読み書きするハードディスクドライブ１４１、取外し可能な不揮発性の磁気ディスク１５２に読み書きする磁気ディスク駆動装置１５１、およびＣＤ−ＲＷ、ＤＶＤ−ＲＷまたは他の光学の媒体などのような取外し可能な不揮発性の光ディスク１５６に読み書きする光ディスク駆動装置１５５を図示している。典型的なオペレーティング環境の中で用いることができる他の取外し可能および／または固定の、揮発性および／または不揮発性のコンピューター記憶媒体は、制限されないが、磁気カセットテープ、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭおよびその他同種のものを含む。ハードディスクドライブ１４１は、典型的には、インタフェース１４０などのような固定のメモリインタフェースを介してシステムバス１２１に接続される。また、磁気ディスク駆動装置１５１および光ディスク駆動装置１５５は、典型的にはインタフェース１５０などのような取外し可能なメモリインタフェースによってシステムバス１２１に接続される。
【００１６】
上述され図１において示されたドライブおよびそれらに結合されるコンピューター記憶媒体は、コンピューター１１０のためにコンピューター読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの記憶装置を供給する。図１において、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するように図示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同一のまたは別のものでありえることに注目されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、最小でも、それらが異なるひな型であることを図示するためにここでは異なる番号を与える。ユーザーは、キーボード１６２などのような入力装置、およびマウス、トラックボールまたはタッチパッドなどのようなポインティングデバイス１６１を介して、コンピューター１１０へコマンドおよび情報を入力できる。他の入力装置（図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどを含んでもよい。これらおよび他の入力装置は、多くの場合、システムバス１２１に結合されるユーザー入力インタフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポートまたはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などのような、他のインタフェースおよびバス構造によって接続されることもできる。グラフィックインタフェース１８２もシステムバス１２１に接続されることもできる。１つ以上のＧＰＵ（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：グラフィック処理装置）１８４は、グラフィックインタフェース１８２と通信することもできる。モニタ１９１または他の型のディスプレイ装置も、順番にビデオメモリ１８６と通信し合うビデオインタフェース１９０などのようなインタフェースを介してシステムバス１２１に接続される。モニタ１９１に加えて、コンピューターはさらに、出力周辺装置インタフェース１９５を介して接続できる、スピーカー１９７およびプリンター１９６などのような他の周辺出力装置を含むことができる。
【００１７】
コンピューター１１０は、リモートコンピューター１８０などのような１つ以上のリモートコンピューターへの論理的接続を用いて、ネットワーク化または分散化した環境内で作動してもよい。記憶装置デバイス１８１のみ図１において示されているが、リモートコンピューター１８０は、パーソナルコンピューター、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードであってもよく、典型的にはコンピューター１１０に関連する上述した要素の多数またはすべてを含む。図１に示す論理的接続は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１７１およびＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：広域ネットワーク）１７３を含むが、さらに他のネットワークおよび／またはバスを含んでもよい。ネットワーク環境は、家庭、オフィス、企業規模のコンピューターネットワーク、イントラネットおよびインターネットでは通常のことである。
【００１８】
ＬＡＮネットワーク環境の中で用いられる場合、コンピューター１１０は、ネットワークインタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境の中で用いられる場合、コンピューター１１０は、典型的には、インターネットなどのＷＡＮ１７３を介した通信を確立するためのモデム１７２または他の手段を含む。モデム１７２（それは内部であっても外部であってもよい）は、ユーザー入力インタフェース１６０を介したシステムバス１２１、または他の適切な手段に接続されてもよい。ネットワーク化された環境において、コンピューター１１０に関連して表されたプログラムモジュール、またはその一部は、リモート記憶装置内に格納されてもよい。例として、制限されないが、図１は、リモート・アプリケーション・プログラム１８５がメモリ装置１８１上に常駐するのを示す。図示されたネットワーク接続は典型的なものであり、コンピューター間の通信リンクを確立する他の手段が用いられてもよいことは十分に理解されるであろう。
【００１９】
図２は、モニタ１９１が提供できるスプレッドシートテーブル２０２を含む例示的なディスプレイ２００を示す。一般に、エリア２０４を、スプレッドシートテーブル２０２用にタイトルまたは他の識別子を含むことができるように与える。さらに、スプレッドシートテーブル２０２は、水平に拡張される第１の軸２０６および垂直に拡張される第２の軸２０８を含むことが望ましいことを理解するだろう。複数の列２１０を、第１の軸２０６と交わるように与えるのが望ましく、通常、表題２１２を、その下にリストアップされる個別のデータ属性を指定する各列に与える。複数の行２１４を、第２の軸２０８と交わるように与えるのが望ましく、データを、個別の入力のための各列と一直線に合わされるセル内に入力できる。一般に、他の種々の項目を、例えば、スプレッドシートテーブル２０２のコンストラクトおよびフォーマットを支援する、ツールバーおよび他の機能的なアイコンなどを、ディスプレイ２００に含むことを補足するものである。
【００２０】
図２において理解されるように、例えば、スプレッドシートテーブル２０２は、ディスプレイ２００のエリア２０４に「募金運動２００７」とタイトルをつけられている。種々の入力を、各々番号をつけた行に与えて、各入力が個人であり、あるデータを、各々指定された列２１０内に与える。完全に見えないが、スプレッドシートテーブル２０２の列２１０の表題２１２が、名前、所番地、市、州、郵便番号、電子メール、寄付金２００３および寄付金２００４を含むことを理解するだろう。
【００２１】
データを、直に、またはスプレッドシートテーブル２０２から入力および／または修正または再検討する代替を与えるために、フォーム３００を、スプレッドシートテーブル２０２に結びつけ、およびコマンドにより自動的に生成されるのが望ましい。フォーム３００へのアクセスをいくつかの方法において成し遂げることができる一方、フォームアイコン３０２を、選択されると、スプレッドシートテーブル２０２の個別の入力に対してセル２１５内に与えるのが望ましいことが図２から理解される。例えば、ポインティングデバイス１６１からのポインタ２１６を個別の入力についてのセルの上に置く場合、入力が選択されることを理解するだろう。例示的なディスプレイにおいて、ポインタ２１６を、スプレッドシートテーブル２０２の入力２２０についての第１の列２１８と一直線に合わされるセル２１５上に置くが、ポインタ２１６を、フォームアイコン３０２を得るために上記の入力に対して（あらゆる列と一直線に合わされた）あらゆるセル上に置くことができる。ポインティングデバイス１６１でその上をクリックすることがフォーム３００へのアクセスをもたらすように、フォームアイコン３０２は、典型的にはオブジェクト指向ユーザーインタフェースとして知られている。したがって、スプレッドシートテーブル２０２からフォーム３００へのアクセスは容易に可能である。十分に理解されるべきであるように、キーボードコマンドおよび音声コマンドなどのような他の技法も、スプレッドシートテーブル２０２から入力を選び、かつフォーム３００へのアクセスを得るために利用されてもよい。
【００２２】
より具体的には、フォーム３００は、それが新規の入力である場合、選択された入力またはブランクでの情報を表示するためにロードされる。入力がスプレッドシートテーブル２０２内に存在しない場合、フォーム３００のデフォルトモードは「新規の入力」であることを理解するだろう。そうでなければ、選択された入力のスプレッドシートテーブル２０２からのデータが、列の表題２１２に対応するテキストボックスを自動的に埋めるのが望ましい。タイトル３０４を、フォーム３００に対して与えるのが望ましく、通常、修正されない限り、上記のタイトルはスプレッドシートテーブル２０２のそれと同じになる。フォーム３００を垂直にレイアウトするが望ましいので、それに各々隣接する、対応するテキストボックスとともに列の表題２１２を表わす複数のフィールドをさらに含む。従って、典型的なフォーム３００は、スプレッドシートテーブル２０２内の１番目または左の列を表す第１のフィールド３０６（つまり「名前」）およびそれに対応するテキストボックス３０８を含む。同様に、第２のフィールド３１０、第３のフィールド３１２、第４のフィールド３１４、第５のフィールド３１６および第６のフィールド３１８は、それに隣接するテキストボックス３２０、３２２、３２４、３２６および３２８（つまり「所番地」、「市」、「州」、「郵便番号」および「電子メール」）とともにフォーム３００において提供される。付加的なフィールドおよび対応するテキストボックスは、図２において理解されるように、所望されればスプレッドシートテーブル２０２に入力されたデータの域を越えてフォーム３００内に含まれてもよい。上記のフォーム３００への追加の１つは、入力のための注釈、コメントおよび他の関連情報を将来の参照に対して記録できるようにするために（コントロールの書式設定といっしょに）リッチテキスト編集ボックス３３０を含むことが望ましい。
【００２３】
フォーム３００のテキストボックスを、そこに入力されるまたは表示されるデータの型に対してフォーマットするのが望ましいことを理解するだろう。そのため、あるテキストボックスは、左揃え（例えば、全般、テキスト、またはその他のデータ）または右揃え（例えば、数字、時間、分数、または科学的なデータ）されるであろう。さらに、テキストボックスをフォーマットして、シンボル（例えば、データが通貨および／または会計を含んでいる場合、その左に表示される通貨記号、および割合が入力された場合その右に表示されるパーセント記号）をそれに含めることができる。さらに、あるデータ型の入力を支援するために、テキストボックス（例えば、日付の入力のための日付選択コントロール）と隣り合わせにコントロールを表すアイコンを置くことができる。いくつかのデータ型用の特殊処理は、アプリケーションプログラムが型を暗黙に理解する場合などに提供される。例えば、ウェブアドレス用のテキストボックスを、左揃えにすることができて、ウェブアドレス用のテキストボックスは、クリックされると新規のウェブブラウザウィンドウを開いて、ユーザーを指定されたウェブアドレスへナビゲートするコントロールをそれに隣接して含むことができる。同様にして、電子メールアドレス用のテキストボックスを、さらに左揃えにすることができて、子メールアドレス用のテキストボックスは、クリックされるとユーザーのデフォルトの電子メールプログラムを開いて、指定された受取人への新規のメッセージを開くコントロールをそれに隣接して含むことができる。最後に、あるデータ型を、列の表題に基づいて自動的に検出することができる。例えば、住所用のテキストボックスを、左揃えにすることができて、住所用のテキストボックスは、クリックされるとユーザーが新規のウェブブラウザウィンドウに地図を開くことを可能にするリンクにより指定された場所の地図を表示するコントロールを含むことができる。
【００２４】
ひとたびデータがフォーム３００に入力されると、入力されたデータを、その中に適したボタンを用いてスプレッドシートテーブル２０２に転送する。フォーム３００を用いて入力を追加する場合に、「送信」ボタン３３２を、クリックされると、入力されたデータを含むスプレッドシートテーブル２０２に新規の行を追加するように与える。フォーム３００を用いて入力を編集する場合に、「更新」ボタン（図示せず）を、クリックされると、スプレッドシートテーブル２０２の行を変更して、変更されたデータがその中に含まれるように与えるのが望ましい。別個の「クローズ」ボタン（図示せず）を、別個のウィンドウを閉じて、それに対するあらゆる変更なしに、スプレッドシートテーブル２０２にユーザーを戻すように、フォーム３００に含むことができる。
【００２５】
フォーム３００を表示する間中スプレッドシートテーブル２０２内の種々の入力（または行）の間に、よりよいナビゲートを行うために、さらに追加のボタンを、それとともに含むことができる。上記のボタンの例は、次を含む。すなわち、スプレッドシートテーブル２０２の次の入力へ移動する「次の入力」ボタン、スプレッドシートテーブル２０２の直前の入力へ移動する「直前の入力」ボタン、スプレッドシートテーブル２０２の第１の入力へ移動する「第１の入力」ボタン、およびスプレッドシートテーブル２０２の最終の入力へ移動する「最終の入力」ボタンである。ユーザーがスプレッドシートテーブル２０２の最終の入力に達した場合に、「次の入力」ボタンを、使用不可能にし、ユーザーがスプレッドシートテーブル２０２の第１の入力に達した場合に、「以前の入力」ボタンを、使用不可能にすることを理解するだろう。このようにして、スプレッドシートテーブル２０２の各入力に対するデータまたは情報を、フォームウィンドウ内において再検討することができる。
【００２６】
フォーム３００内に与えることができる別の項目は、「新規の入力」ボタン（図示せず）であり、スプレッドシートテーブル２０２に対して新規の入力を追加することができるように、既存の入力からのフォーム３００上の情報／データを削除する。これは、スプレッドシートテーブル２０２からアクセスしなければならない代わりに、フォーム３００を、前の入力フォームから直に設定することを可能にする。
【００２７】
本発明に係るスプレッドシートテーブルに結びつけたフォームを応答して生成する方法または処理を、図３に開示する。最初に、第１の軸２０６およびと第２の軸２０８を含むスプレッドシートテーブル２０２を生成する（４００）。例えば、列２１０の表題２１２など、これらの軸の１つによりデータ属性をリストするのが望ましいことを理解するだろう。次に、スプレッドシートテーブル２０２を表すのが望ましいフォーム３００を生成する（４０２）。そのため、フォーム３００は、少なくともスプレッドシートテーブル２０２上のデータ属性のいくつかに対応するフィールドおよびテキストボックスを含むのが望ましい。次に、フォーム３００とスプレッドシートテーブル２０２とを結びつける（４０４）。これは、上述したフォームアイコン３０２などのようないくつかの型のユーザーインタフェースを介して成し遂げられてもよい。次に、スプレッドシート２０２内のセル２１５が選択されると（４０６）、ユーザーインタフェース（つまりフォームアイコン３０２）を供給するのが望ましい（４０８）。ユーザーインタフェース上をクリックすることによって、それに応答して表示される（４１２）フォーム３００を生じさせるコマンドを提供する（４１０）。
【００２８】
選択されたセルに応じて（すなわち、入力がブランクであろうとデータを含んでいようと）、スプレッドシートテーブル２０２内の情報を入力してもよいし修正してもよい（４１４）。従って、フォーム内のデータは、その後スプレッドシートテーブル２０２内に保存または更新することができる（４１６）。もちろん、スプレッドシートテーブルの入力内のデータを単に再検討することは可能である（４１８）。それゆえに、ユーザーはスプレッドシートテーブル２０２内の異なる入力へナビゲートするか（４２０）、またはフォーム３００を閉じることによりスプレッドシートテーブル２０２に戻ってもよい（４２２）。
【００２９】
スプレッドシートテーブルを表し結びつけられるフォームの利用をさらに活用するために、フォームをウェブページと共に利用することができるように想定される。図４において理解されるように、スプレッドシートテーブルに結びつけたフォーム５０２がウェブページ５０４へ配信された典型的なシステム５００が表される。システム５００は、スプレッドシート・ウェブ・サービス５０８およびスプレッドシート計算サービス５１０を提供するウェブページ５０４に接続されたスプレッドシートサービス５０６をさらに含む。スプレッドシート・ウェブ・サービス５０８は、ウェブページ５０４内の組み込み型フォーム５０２および受信情報またはフォーム５０２に入力されたデータを支援するために利用することができる。フォーム５０２からのデータが送信される場合、リクエストがスプレッドシートサービス５０６に送信され、ワークブック５１２が更新される。もちろん、フォーム５０２から受信されたデータの操作または計算は、計算サービス５１０によって要求されてもよい。
【００３０】
フォーム５０２は、例えば、クリップボードツールを用いてまたは対応するフォームコードを直接組み込むことにより、ウェブページ５０４に組み込まれてもよい。クリップボードツールを用いてウェブサイトへフォームを組み込むために、ユーザーは、例えば、フォーム上のクリップボードツールアイコンをクリックして、どのフォームビューが要求されるかを選択し、次に、ウェブページを使用可能にしたクリップボードツールにそれを貼り付けてもよい。このプロセスが、クリップボードツール上に自動的に配置されるべき選択されたフォームのための必要なコードを伴い、それにより、コードはその後ウェブサイトへ自動的に貼り付けられることが理解されるであろう。コードアプローチを用いてフォームを組み込むために、ユーザーは、例えば、ユーザーがフォームを配信しかつ要求されたフォームビューを選択するスプレッドシートテーブルを選択することを可能にする配信ユーザーインタフェースを利用してもよい。次に、ウェブページに埋め込むことができるコード片を与えることができる。
【００３１】
フォーム５０２のビューが複数のビューの１つを採用してもよいことはさらに十分に理解されるだろう。１つのビューにおいて、フォーム５０２は、新規の項目の入力のみを許可するであろう。そのため、他の入力へのナビゲーションを可能にする閲覧メカニズムのどれも、上記に示されたように、表示されないであろう。これは、すべてのデータがスプレッドシートテーブルに入力されたのを見ずに、個人ユーザーがスプレッドシートテーブルへデータを入力することを可能にすることにより、「個人の」データ入力を許可してもよい。その代わりに、フォーム５０２は、ユーザーがフォーム５０２に結びつけられたスプレッドシートテーブル内の現在の入力を閲覧することのみを可能にしてもよい。新規の項目のデータの入力に結びつけられたコントロールを、上記のビューに表示しない。もちろん、フォーム５０２がウェブページ５０４内に組み込まれているので、本明細書に記述されたクローズボタンは、どちらのビューにおいても示されない。
【００３２】
ウェブページ内のフォームの利用について説明してきたが、フォームがスプレッドシートテーブルまたはワークブックに結びつけられる場合には、ワークブック内のデータを格納または更新する方法またはプロセスが開示されることが理解されるであろう。スプレッドシートテーブルを表すフォーム５０２がまず生成されることが図５のボックス６００において理解されるであろう。次に、フォームが表示されてもよい（６０２）。フォーム５０２は、例えば、ウェブページ５０４上に表示されてもよい。フォームがウェブページ５０４上に表示される場合、フォーム５０２のためのコードは、ウェブページ５０４に組み込まれてもよい（６０２）。本明細書に記述されるように、コードは、直接またはクリップボードツールによって組み込まれてもよい。フォーム５０２が表示された後、次にデータがフォーム５０２に入力され（６０４）、そしてスプレッドシートに送信されてもよい（６０６）。このように、フォーム５０２からのデータは、スプレッドシートテーブルまたはワークブック内に保存および／または更新される（６０８）。もちろん、フォーム５０２のビューが閲覧用のみである場合、スプレッドシートテーブルの現在の項目または入力を表示する（６１０）。
【００３３】
主題が構造的特徴および／または方法論的動作に特有の言語で記述されているが、添付された特許請求の範囲において定義される主題が上述された特有の特徴または動作に必ずしも制限されないことを理解するべきである。もっと正確に言えば、上述された特有の特徴または動作を、クレームを実装する実施例の形として開示する。
【図１】
2010541081.tif 000003
【図３】
2010541081.tif 000004
【図４】
2010541081.tif 000005
【図５】
2010541081.tif 000006
【図２】
2010541081.tif 000007
【国際調査報告】
2010541081.tif 000008
2010541081.tif 000009