(57)【要約】【課題】オフィス・アプリケーション内に、内容に依存するヘルプ情報を提供するための方法およびシステムを提供すること。【解決手段】本発明は、１つまたは複数のオブジェクトを含むオフィス・アプリケーション内に、選択したオブジェクト（５０３）の内容（５０４）に依存するオンライン・ヘルプ情報（６２４、６４２、６４３）を提供するためのシステム、方法、およびコンピュータ・プログラムを開示する。本方法は、ユーザの操作の結果として、オンライン・ヘルプ・コマンドを検出するステップ（４０２）と、選択したオブジェクト（５０３）を識別するステップと、選択したオブジェクト（５０３）がユーザ入力フィールドを含むかどうかを判定するステップ（４０３）とを含み、選択したオブジェクト（５０３）がユーザ入力フィールドを含む場合は、ユーザ入力フィールドの内容（５０４）を識別するステップと、ユーザ入力フィールドの内容（５０４）を構文解析（４０５）して、文字列（３０２）によって特徴付けられる、任意の事前に定義されたキーワード（３０１）が存在するかどうかを識別するステップとを含み、ユーザ入力フィールドの内容（５０４）で識別されたそれぞれの事前定義キーワード（３０１）に関して、キーワードに関連した１つまたは複数のパラメータと、１つまたは複数のパラメータに関連した１つまたは複数のフォーマットおよびルールを指定する、識別されたキーワード（３０１）に関連した事前定義ヘルプ情報（３０３）がある場合は該事前定義ヘルプ情報を識別するステップ（４０７）と、ユーザ入力フィールドの内容（５０４）を構文解析（４０８）して、事前定義ヘルプ情報（３０３）で指定された１つまたは複数のパラメータを識別するステップと、ユーザ入力フィールド内の１つまたは複数のパラメータのフォーマットが、事前定義ヘルプ情報（３０３）で指定されたフォーマットに準拠することを検証するステップ（４１０）と、ユーザ入力フィールド内の１つまたは複数のパラメータが、事前定義ヘルプ情報（３０３）で指定されたルールに準拠することを検証するステップ（４０９）とを含み、ユーザ入力フィールドの内容（５０４）が、ユーザ入力フィールドの内容で識別された事前定義キーワードのヘルプ情報で指定されたフォーマットまたはルールに準拠しない場合は、ヘルプ情報（３０３）内で指定された１つまたは複数のフォーマットおよびルールに従って、ユーザ入力フィールドの内容を修正するステップ（４０９、４１０）を含む。
2004532482.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のオブジェクトを含むオフィス・アプリケーション内に、選択されたオブジェクト（５０３）の内容（５０４）に依存するオンライン・ヘルプ情報（６２４、６４２、６４３）を提供するための方法であって、
ユーザ操作の結果として、オンライン・ヘルプ・コマンドを検出するステップ（４０２）と、
選択されたオブジェクト（５０３）を識別するステップと、
前記選択されたオブジェクト（５０３）がユーザ入力フィールドを含むかどうかを判定するステップ（４０３）とを含み、
前記選択されたオブジェクト（５０３）がユーザ入力フィールドを含む場合は、
前記ユーザ入力フィールドの前記内容（５０４）を識別するステップと、
前記ユーザ入力フィールドの前記内容（５０４）を構文解析（４０５）して、文字列（３０２）によって特徴付けられる、任意の事前定義キーワード（３０１）が存在するかどうかを識別するステップとを含み、
前記ユーザ入力フィールドの前記内容（５０４）で識別されたそれぞれの事前定義キーワード（３０１）に関して、
前記キーワードに関連した１つまたは複数のパラメータと、前記１つまたは複数のパラメータに関連した１つまたは複数のフォーマットおよびルールとを指定する、前記識別されたキーワード（３０１）に関連した事前定義ヘルプ情報（３０３、３０４）がある場合は該事前定義ヘルプ情報を識別するステップ（４０７）と、
前記ユーザ入力フィールドの前記内容（５０４）を構文解析（４０８）して、前記事前定義ヘルプ情報（３０３）で指定された前記１つまたは複数のパラメータを識別するステップと、
前記ユーザ入力フィールド内の前記１つまたは複数のパラメータのフォーマットが、前記事前定義ヘルプ情報（３０３）で指定されたフォーマットに準拠することを検証するステップ（４１０）と、
前記ユーザ入力フィールド内の前記１つまたは複数のパラメータが、前記事前定義ヘルプ情報（３０３）で指定された前記ルールに準拠することを検証するステップ（４０９）とを含み、
前記ユーザ入力フィールドの前記内容（５０４）が、前記ユーザ入力フィールドの前記内容で識別された事前定義キーワードの前記ヘルプ情報で指定されたフォーマットまたはルールに準拠しない場合は、
前記ヘルプ情報（３０３）で指定された前記１つまたは複数のフォーマットおよびルールに従って、前記ユーザ入力フィールドの前記内容を修正するステップ（４０９、４１０）を含む、
方法。
【請求項２】
前記ユーザ入力フィールドの前記内容（５０４）で識別されたそれぞれの事前定義キーワード（３０１）に関して、
前記識別されたキーワード（３０１）に関連した前記ヘルプ情報（３０３、３０４）に事前定義ヘルプ・テキスト（３０４）がある場合は、該事前定義ヘルプ・テキストを識別するステップと、
前記事前定義ヘルプ・テキスト（３０４）を好ましくは、ヘルプ・ウィンドウ（６４０）に表示するステップ（４１５）と
をさらに含む、請求項１に記載の方法。
【請求項３】
前記事前定義ヘルプ・テキストを好ましくは、ヘルプ・ウィンドウに表示するステップが、
前記ユーザ入力フィールドの前記修正された内容（６４２）を前記事前定義ヘルプ・テキスト（６２４）にコピーする（４１３）予備ステップ
を含む、請求項１ないし２のいずれかに記載の方法。
【請求項４】
前記ユーザ入力フィールドの前記内容を識別するステップが、
前記ユーザ入力フィールドの前記内容（５０４）を作業バッファにコピーするステップ（４０４）
をさらに含む、請求項１ないし３のいずれか一項に記載の方法。
【請求項５】
前記ユーザ入力フィールドの前記内容を修正するステップが、
前記修正された内容を作業バッファに保管するステップ
をさらに含む、請求項１ないし４のいずれか一項に記載の方法。
【請求項６】
前記ユーザ入力フィールドの前記内容を修正するステップが、
前記修正された内容（６４２）を好ましくは、ヘルプ・ウィンドウ（６４０）に表示するステップ（４１５）
をさらに含む、請求項１ないし５のいずれか一項に記載の方法。
【請求項７】
ユーザ操作（４１６）の結果として、前記作業バッファの前記修正された内容（５１４）を、前記選択されたオブジェクト（５１３）上にコピーするステップ（４１７）
をさらに含む、請求項１ないし６のいずれか一項に記載の方法。
【請求項８】
前記作業バッファの前記修正された内容（５１４）を、前記選択されたオブジェクト（５１３）上に自動的にコピーするステップ
をさらに含む、請求項１ないし７のいずれか一項に記載の方法。
【請求項９】
前記１つまたは複数の事前定義キーワード（３０１）をテーブル（３００）に記録する方法であって、前記テーブルがそれぞれの事前定義キーワード（３０１）に関して、
前記キーワード（３０１）を識別する文字列（３０２）と、
ヘルプ情報がある場合は該ヘルプ情報とを含み、
前記ヘルプ情報は、
前記キーワードに関連した１つまたは複数のパラメータと、前記１つまたは複数のパラメータに関連した１つまたは複数のフォーマットおよびルールとを指定するパラメータ・テンプレート（３０３）がある場合は該パラメータ・テンプレートと、
ヘルプ・テキスト（３０４）がある場合は該ヘルプ・テキスト、または前記ヘルプ・テキストが記録されている場所を指す参照とを含む、
請求項１ないし８のいずれか一項に記載の方法。
【請求項１０】
１つまたは複数のキーワード（３０１）を定義する予備ステップと、
前記１つまたは複数のキーワードをテーブル（３００）に記録する予備ステップとを含み、
前記テーブルは各キーワードに関して、
前記キーワードを識別する文字列（３０２）と、
ヘルプ情報がある場合は該ヘルプ情報とを含み、
前記ヘルプ情報は、
前記キーワードに関連した１つまたは複数のパラメータと、前記１つまたは複数のパラメータに関連した１つまたは複数のフォーマットおよびルールとを指定するパラメータ・テンプレート（３０３）がある場合は該パラメータ・テンプレートと、
ヘルプ・テキスト（３０４）がある場合は該ヘルプ・テキスト、またはヘルプ・テキストが記録されている場所を指す参照とを含む、
請求項１ないし９のいずれか一項に記載の方法。
【請求項１１】
前記オフィス・アプリケーションは各次元に沿ったセル・アドレスによって識別される複数のセルを含む多次元スプレッドシートであり、前記オンライン・ヘルプ情報は選択されたセルの内容に依存する、請求項１ないし１０のいずれか一項に記載の方法。
【請求項１２】
請求項１ないし１１のいずれか一項に記載の方法を実行するように適合された手段を含む、システム。
【請求項１３】
コンピュータ・プログラムの実行時に、請求項１ないし１１に記載の方法を実行するように適合された命令を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル・コンピュータによる情報処理の分野に関し、より詳細には、電子スプレッドシートなどのオフィス・アプリケーションにおいて、現在選択しているスプレッドシート・セルの内容に依存するヘルプ情報を提供するための方法およびシステムに関する。
【背景技術】
【０００２】
コンピュータが出現する以前の数値解析、とりわけ財務分析は、会計担当者が鉛筆と計算器を手に縦組みの用紙やスプレッドシートを用いて行うのが通例であった。スプレッドシートは、データを列と行の中に与えることによって、読み手が情報を迅速に吸収することを可能にする。しかし、紙でスプレッドシートを作成する作業は、さほど迅速に進むものではない。むしろ、そのプロセスは、各項目について長々とした退屈な計算を行い、スプレッドシートに入力しなければならないため、きわめて遅いものになりがちである。すべての計算を作成者が担当するため、手作業で作成されるスプレッドシートにはミスが生じがちでもある。したがって、手作業によるスプレッドシートの作成は、遅々として退屈であり、信頼性に乏しい。
【０００３】
マイクロコンピュータの出現によって、解決策が「電子スプレッドシート」という形で到来した。単に「スプレッドシート」という呼び名の方が一般的なこれらのソフトウェア・プログラムは、会計担当者用の縦組み用紙、鉛筆、および計算器という旧来の財務モデル・ツールに対して電算化された代替物を提供する。いくつかの点において、スプレッドシート・プログラムと旧来のツールの関係は、ワード・プロセッサとタイプライタの関係にたとえることができる。スプレッドシートは、財務モデルを作成、編集、および使用する際の容易さを劇的に改善する。
【０００４】
典型的なスプレッドシート・プログラムは、会計担当者用の縦組み用紙における列／行状すなわち罫線状の書式に似たコンピュータのメモリを構成し、目に見える計算器をユーザに提供する。しかし、この「用紙」は、コンピュータのメモリ内に動的に存在するため、いくつかの点で紙の用紙とは異なる。たとえば、電子スプレッドシートにおける位置は、コンピュータが理解できる形式でコンピュータに伝えられなければならない。これを行うための一般的な仕組みは、スプレッドシートにおける各行に数字を割り当て、各列に文字を割り当てることである。たとえば、Ａ列の１行めの位置（すなわち左上の隅）を参照するには、ユーザは「Ａ１」と入力する。このようにして、スプレッドシートは、行と列の各交点でアドレス可能な保管場所、すなわち「セル」を定義する。
【０００５】
電子スプレッドシートへのデータ入力は、会計担当者用の用紙に情報を入力するのとまったく同じ方法で行う。画面のカーソルを希望の位置に配置した後、ユーザは英数字の情報を入力することができる。しかし、スプレッドシート・セルは、テキストおよび数字の情報を保持することに加えて、スプレッドシート・セルに保管された数字について計算を実行するように指定する特別な命令、すなわち「公式」を保管することができる。このように、セルの参照は方程式における変数の役割を果たすことができ、これによってセルとセルの間で精密な数学的関係を定義することができる。スプレッドシート・プログラムの構造および動作については、関数やマクロなどの拡張機能を含めて、技術文献、業界文献、および特許文献に記載されている。概論としては、たとえば、Cobb, S.の「Using Quattro Pro 2」、Borland-Osbornel McGraw-Mll、1990年、ならびに LeBlond,G. および Cobb, D.の「Using 1-2-3」、Que corp.、1985年に記載されている。
【０００６】
電子スプレッドシートは、紙のスプレッドシートに勝る多くの利点を提供する。第１に、電子スプレッドシートは紙のスプレッドシートよりもはるかに大きく（すなわち、より多くの情報を保持することができる）、数千あるいは数百万のセルを持つ電子スプレッドシートでさえ珍しくない。また、スプレッドシート・プログラムによって、ユーザは「もしこうなったら」というシナリオを実行することができる。計算上の関係のセットがワークシートに入力されると、たとえば、埋め込まれた公式または組み込み関数あるいはその両方によって、異なる仮定のセットを用いて情報のスプレッドを再計算することができ、それぞれの再計算の結果はほぼ一瞬のうちに表示される。紙と鉛筆を使ってこの操作を手作業で行うと、変更が生じるたびにモデル内のあらゆる関係を再計算する必要が生じるだろう。このように、電子スプレッドシート・システムは、「もしこうなったら」という問題を解決するために発明されたものであり、すなわち、入力を変更すると出力がどう変化するかを見ることができる。
【０００７】
従来の電子スプレッドシート・ツールには、ユーザ・ガイドなどのユーザ・マニュアルのほかに、ユーザの画面にオンライン・ヘルプ情報を表示するための組み込みヘルプ機能が含まれる。この機能は、操作的な側面や教育的な側面といったツールの複数の側面を統合する自立した環境内で現れるため、この機能によって電子スプレッドシート・ツールの使いやすさと人間工学は大幅に改善された。さらに、いくつかの技術によれば、コンテキストに依存するオンライン・ヘルプ情報を表示することができ、ユーザはその時点でのツールのコンテキストを見ながら、関連するヘルプ情報を受け取ることができる。たとえば、ファイル指向の操作について知りたいと考えているスプレッドシート・ユーザを援助することを目的としたダイアログ・ボックス内では、オンライン・ヘルプ情報は、これらのファイル操作に対応するヘルプ情報を提供するだけである。
【０００８】
スプレッドシート内の計算を自動化するために公式内で使用される組み込み関数は、きわめて複雑になる場合があり、そのため、調整および更新が困難である。したがって、こうした組み込み関数の使い方を理解するためには、ヘルプ情報を利用することが望ましい。従来の電子スプレッドシート・ツールでは、組み込み関数に関連するそうしたヘルプ情報は、通常、その関数の目的を説明し、どのような引数が必要かを指定し、典型的な誤用に関していくつかのヒントを提示する場合もあり、最終的には例を介してその関数について解説する。全てのこうした情報は相当な量となることがあり、「平均的なユーザ」が最も複雑な関数について理解しづらい場合がある。こうした状況が特に当てはまるのは、その関数を解説するために使用される例が、ユーザが直面した実際の場面とかけ離れている場合である。こうした場合、オンライン・ヘルプ情報は、いずれにしてもスプレッドシート・ユーザが操作するデータに合致しないため、真の助けにはならない。
【非特許文献１】
Cobb, S.、Using Quattro Pro 2、Borland-Osbornel McGraw-Mll、1990年
【非特許文献２】
LeBlond, G.、Cobb,D.、Using 1-2-3、Que corp.、1985年
【非特許文献３】
Microsoft Mouse Programmer's Reference、Microsoft Press、1989年
【非特許文献４】
Petzold, C.、Programming Windows（Ｒ）、第２版、Microsoft Press、1990年
【非特許文献５】
Quattro Pro for Windows（Ｒ） （Getting Started, User's Guide and Building SpreadsheetApplications）、Borland International
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明はデータ処理に関するものであり、より詳細には、好ましくはスプレッドシート内で内容に感応するオンライン・ヘルプを提供するためのユーザ・インターフェースに関するものであり、本発明によりこの問題を解決することができる。この内容に感応するヘルプは、ユーザが内容を入力して操作するスプレッドシート・セルのようなオブジェクトに関する。内容に感応するヘルプは、空間および時間の環境に関連していないという点で、コンテキストに感応するヘルプ（従来技術と考えられる）とは異なる。空間のコンテキストはユーザの画面上の物理的座標および地理的座標によって定義され、時間のコンテキストはさまざまなタスクおよびルーチンの論理シーケンスを介して定義される。オブジェクトの内容はユーザによって入力される。オブジェクトの内容はユーザ入力として、特定のルール、構文、文法、または正字法に準拠しなければならない。たとえば、ユーザ入力は、事前に定義された数字、パラメータ、キーワード、またはステートメントを含む値、公式、コード、あるいはプログラミング言語などである。内容に感応するヘルプの別の目的は、一般的な例ではなく、すでに定義されているオブジェクトのセットと矛盾しないようにカスタマイズされた例をユーザに提供することである。こうした機能の目的は、これらの例に最小の変更を加えて入力フィールドにインポートまたはコピー・アンド・ペーストする可能性をユーザに提供することである。
【課題を解決するための手段】
【００１０】
独立項で定義しているように、本発明は、１つまたは複数のオブジェクトを含むオフィス・アプリケーション内に、選択したオブジェクトの内容に依存するオンライン・ヘルプ情報を提供するためのシステム、方法、およびコンピュータ・プログラムを開示する。本方法は、
・ユーザ操作の結果として、オンライン・ヘルプ・コマンドを検出するステップと、
・選択したオブジェクトを識別するステップと、
選択したオブジェクトがユーザ入力フィールドを含むかどうかを判定するステップ（４０３）とを含み、
選択したオブジェクトがユーザ入力フィールドを含む場合は、
・ユーザ入力フィールドの内容を識別するステップと、
・ユーザ入力フィールドの内容を構文解析して、文字列によって特徴付けられる、任意の事前定義キーワードが存在するかどうかを識別するステップとを含み、
ユーザ入力フィールドの内容で識別されたそれぞれの事前定義キーワードに関して、
・キーワードに関連した１つまたは複数のパラメータと、１つまたは複数のパラメータに関連した１つまたは複数のフォーマットおよびルールとを指定する、識別されたキーワードに関連した事前定義ヘルプ情報がある場合は該事前定義ヘルプ情報を識別するステップと、
・ユーザ入力フィールドの内容を構文解析して、事前定義ヘルプ情報で指定された１つまたは複数のパラメータを識別するステップと、
・ユーザ入力フィールド内の１つまたは複数のパラメータのフォーマットが、事前定義ヘルプ情報で指定されたフォーマットに準拠することを検証するステップと、
・ユーザ入力フィールド内の１つまたは複数のパラメータが、事前定義ヘルプ情報で指定されたルールに準拠することを検証するステップとを含み、
ユーザ入力フィールドの内容が、ユーザ入力フィールドの内容で識別された事前定義キーワードのヘルプ情報で指定されたフォーマットまたはルールに準拠しない場合は、
・ヘルプ情報で指定された１つまたは複数のフォーマットおよびルールに従って、ユーザ入力フィールドの内容を修正するステップを含む。
【００１１】
本発明のさらなる実施形態は、添付の従属項において提示される。
【００１２】
本発明の特徴とみなされる新規かつ独創的な特色は、添付の特許請求の範囲に記載されている。しかし、本発明そのもの、ならびに好ましい使用形態、本発明のさらなる目的および利点は、以降で行う詳細な例示的実施形態に関する詳しい説明と添付の図面を併せて参照すれば、最もよく理解できるであろう。
【発明を実施するための最良の形態】
【００１３】
システム・ハードウェア
図１に示すように、本発明はコンピュータ・システム１００上で実施することができ、コンピュータ・システム１００は、中央処理装置１０１、メイン・メモリ１０２、入出力コントローラ１０３、キーボード１０４、ポインティング・デバイス１０５（たとえば、マウス、トラック・ボール、ペン・デバイスなど）、ディスプレイ装置１０６、および大容量記憶装置１０７（たとえば、ハード・ディスク）を含む。必要に応じて、印刷装置１０８などの追加の入出力装置をシステム１００に含めることもできる。図示しているように、システム１００のさまざまなコンポーネントは、システム・バス１１０または類似のアーキテクチャを介してやり取りする。好ましい実施形態では、コンピュータ・システム１００はＩＢＭ互換のパーソナル・コンピュータを含み、このＩＢＭ互換のパーソナル・コンピュータは、（ニューヨーク州アーモンクのInternational Business Machine - IBM Corporationなどの）複数の業者から市販されている。
【００１４】
図２に示すように、コンピュータ・ソフトウェア・システム１５０は、コンピュータ・システム１００の動作を指示するために提供される。システム・メモリ１０２およびディスク・メモリ１０７に格納されたソフトウェア・システム１５０は、カーネルまたはオペレーティング・システム１５１、およびシェルまたはインターフェース１５３を含む。アプリケーション・ソフトウェア１５２などの１つまたは複数のアプリケーション・プログラムは、システム１００による実行のための「ロード」される（すなわちストレージ１０７からメモリ１０２に転送する）ことができる。システム１００はユーザ・インターフェース１５３を介してユーザ・コマンドおよびデータを受け取る。次いでシステム１００は、これらの入力に基づいて、オペレーティング・モジュール１５１またはアプリケーション・モジュール１５２あるいはその両方からの命令に従って動作することができる。インターフェース１５３はグラフィカル・ユーザ・インターフェース（ＧＵＩ）であることが好ましく、結果を表示する役割も果たし、この結果に基づいて、ユーザはさらなる入力を行うか、またはセッションを終了することができる。好ましい実施形態では、オペレーティング・システム１５１およびインターフェース１５３は Microsoft Win95 であり、これはワシントン州レドモンドの Microsoft Corporation から市販されている。一方、アプリケーション・モジュール１５２は本発明のスプレッドシート・ノートブックを含み、これについては、以降でさらに詳細に説明する。
【００１５】
インターフェース
Ａ．はじめに
以降の説明は、本発明に関する現時点で好ましい実施形態に焦点を合わせて行う。この実施形態は、Microsoft Win95 の環境内で動作できるスプレッドシート・アプリケーションにおいて実施することができる。しかし、本発明は、任意の特定のアプリケーションや任意の特定の環境に限定されるものではない。むしろ、本発明のシステムおよび方法は、データベース管理システムやワード・プロセッサなどを含むさまざまなシステムおよびアプリケーション・ソフトウェアに適用できる点が有利であることを当業者なら理解するであろう。さらに、本発明は、Macintosh、UNIX（Ｒ）、NextStepなどを含むさまざまな異なるプラットフォーム上で実施することができる。したがって以降の例示的な実施形態の説明は、例示のためのものであり、限定を目的としたものではない。
【００１６】
次いで図３を参照すると、システム１００はウィンドウ・インターフェースすなわちワークスペース１６０を含む。ウィンドウ１６０は、画面１０６上に表示するための矩形のグラフィカル・ユーザ・インターフェース（ＧＵＩ）であり、必要に応じてさらなるウィンドウ要素をさまざまなサイズおよびフォーマット（たとえば、タイル表示やカスケード表示など）で表示することができる。ウィンドウ１６０の上部には、メニュー・バー１７０があり、ユーザ・コマンドの選択肢が複数用意されている。この各コマンドは、アプリケーション・オブジェクトと共に使用するためのさらなるサブメニューおよびソフトウェア・ツールを呼び出すことができる。ウィンドウ１６０は、グラフィック・オブジェクト１８１およびテキスト・オブジェクト１８２などの画面オブジェクトを表示および操作するためのクライアント領域１８０を含む。本質的にクライアント領域は、コンピュータ・システム１００の内部に常駐するデータ・オブジェクトとユーザが対話するためのワークスペースすなわちビューポートである。
【００１７】
ウィンドウ・インターフェース１６０は、興味のある画面オブジェクトを選択または呼び出すための画面カーソルすなわちポインタ１８５を含む。ポインティング・デバイス１０５から生じたユーザの動きを示す信号に応答して、カーソル１８５は画面１０６上を漂い（すなわち自由に移動し）、画面上の所望の位置に達する。当技術分野で知られているように、カーソルの移動中または移動後、ユーザは、オブジェクトを選択および操作するためのユーザ・イベント信号（たとえば、マウス・ボタンの「クリック」および「ドラッグ」など）を生成することができる。たとえば、画面コンポーネント１７２、１７４／５、および１７７／８をそれぞれ「クリックする」（選択する）ことによって、ウィンドウ１６０を閉じ、サイズ変更し、スクロールすることができる。
【００１８】
好ましい実施形態では、画面カーソル１８５はマウス・デバイスによって制御される。シングル・ボタン、ダブル・ボタン、またはトリプル・ボタンのマウス・デバイスが、カリフォルニア州キューパーティーノの Apple Computer、ワシントン州レドモンドの Microsoft Corporation、およびカリフォルニア州フレモントの Logitech Corporation など、さまざまな業者から市販されている。画面カーソル制御装置１０５は、左右両方の「マウス・ボタン」を含む２ボタン・マウス・デバイスであることがさらに好ましい。
【００１９】
マウス・デバイス用のプログラミング技術および操作については、プログラミングおよびハードウェア関連の文献に詳細に記載されている。たとえば「Microsoft Mouse Programmer's Reference」、Microsoft Press、1989年を参照されたい。Windows（Ｒ）などのＧＵＩイベント・ドリブン・システムの一般的な構築および操作についても当技術分野で知られている。たとえば、Petzold,C.の「Programming Windows（Ｒ）」、第２版、Microsoft Pre）、1990年に記載されている。
【００２０】
Ｂ．好ましいインターフェース
次いで図４には、本発明のスプレッドシート・ノートブック・インターフェースが示されている。本発明のスプレッドシート・ノートブックまたはワークブックは、英数字の情報およびグラフィックの情報などの情報を受け取り、処理し、提示するためのノートブック・ワークスペース２００を含む。ノートブック・ワークスペース２００は、メニュー・バー２１０、ツールバー２２０、現行セル標識２３０、入力行２３１、状況表示行２４０、およびノートブック・ウィンドウ２５０を含む。メニュー・バー２１０は、ユーザ入力に応答して、ユーザ・コマンドのメイン・レベルを表示し、呼び出す。ウィンドウ・アプリケーションで知られているように、メニュー・バー２１０はさらなるプル・ダウン・メニューも呼び出す。入力行２３１は、セルの内容を入力および編集するためのユーザ・コマンドおよび情報を受け入れ、セルの内容としては、データ、公式、マクロなどが含まれる。標識２３０は、現行カーソル（すなわち、アクティブなセル）の位置を示すアドレス、あるいは選択された名前付き範囲（すなわち、アクティブな選択）を示すアドレスまたは名前を表示する。状況表示行２４０では、システム１００はその時点でのワークブックの状況に関する情報を表示する。たとえば「Ready」の標識は、実行対象の別のタスクをユーザが選択するのをシステムが待っている状況を意味する。
【００２１】
ツールバー２２０は図５にさらに詳細に示されており、頻繁に使用するメニュー・コマンドまたはプロパティをユーザが選択する際の近道を提供するツールの行またはパレットを含む。例示的な実施形態では、ツールバー２２０は、ファイル操作ボタン２２１、印刷ボタン２２２、取り消しボタン２２３、切り取りボタン、コピー・ボタン、および貼り付けボタン２２４、情報ポップアップ・ウィンドウ・ボタン・ツール２２５、名前付き範囲選択ボタン２２６、書式コピー・ボタン２２７、列幅変更ボタン２２８、ならびに合計ボタン２２９を含む。これらのボタンの機能は、その名前から連想されるとおりである。たとえばボタン２２４は、Windows（Ｒ）のクリップボードとの間でデータおよびオブジェクトの切り取り、コピー、および貼り付けを行う。同じ操作は、編集メニュー内の対応するコマンドとして実行することもできる（メニュー・バー２１０から実行可能）。
【００２２】
ノートブックは、興味のある情報を入力および表示するためのインターフェースを提供し、複数のスプレッドシート・ページを含む。各ページは、移動、サイズ変更、削除など、従来のウィンドウ関連の機能および操作を含むことができる。好ましい実施形態では、ノートブックは２５６のスプレッドシート・ページを含み、そのすべてが単一のディスク・ファイルとして大容量記憶装置１０７に保存される。ワークスペース２００は１つまたは複数のノートブックを表示することができ、各ノートブックはユーザ指定制約に従って、サイズおよび配置（たとえば、タイル表示やオーバーラップ表示など）が決定される。
【００２３】
ノートブックの各スプレッドシート・ページは２次元のスプレッドを含む。ノートブック２００のページＡは、たとえばＦ列３行めといった行および列の形式の罫線を含む。行と列の各交点では、従来の方法で情報を入力、処理、および表示するための枠すなわちセル（たとえば、セルＣ４など）が提供される。各セルには、その時点でアクティブなセル（すなわち、現在選択しているセル）を表示するために提供されるセレクタを用いてアドレスすることができる。
【００２４】
図６および図７に示すように、個々のノートブック・ページはページ識別子２６０によって識別される。このページ識別子２６０は、ノートブックの一端に沿って配置されるのが好ましい。好ましい実施形態では、各ページ識別子はタブ・メンバ（たとえば、メンバ２６１ａ、２６２ａ、２６３ａなど）の形をとり、ノートブックの上端に沿って配置される。各タブ・メンバは、テキスト・ラベルやグラフィック・ラベルなど、その内容を表す標識を含むことができる。これには、対応するページの内容を表す、ユーザが選択したタイトルを含めることができる。図６では、タブ・メンバ２６０はそれぞれのデフォルト名に設定されている。たとえば最初の３つのタブ・メンバ（メンバ２６１ａ、２６２ａ、２６３ａ）は、それぞれＡ、Ｂ、およびＣと設定されている。しかし、タブ・メンバは、その内容を表す名前をユーザから与えられるのが通例である。たとえば図７に示すように、最初の３つのタブ・メンバは「Contents」（タブ・メンバ２６１ｂ）、「Summary」（タブ・メンバ２６２ｂ）、および「Jan」（タブ・メンバ２６３ｂ）と設定される。同様にして、他のタブも１年の残りの月の名前に設定される。このやり方では、ユーザはページ識別子を通常の紙の手帳における使い慣れたタブに見立てている。したがって、ユーザは、興味のあるページまたはスプレッドの選び方をすでに知っており、（紙の手帳の１ページを選択する際と同様に）ページに対応するタブをただ選択するだけでよい。
【００２５】
ユーザがカスタマイズできるページ識別子は、該当する情報のページを選択する際に役立つだけでなく、スプレッドシートの名前付き範囲のアドレスを入力する際にも役立つ。たとえば、別のページ上のセルの名前付き範囲を参照する公式を入力する際、ユーザは、単にその名前付き範囲のアドレス内にある内容を表すページ名を使用するだけでよく、これによりユーザは参照するセルや情報の関係がわかりやすくなる。
【００２６】
スプレッドシート・ノートブック・インターフェースの機能および操作に関する全般的な解説は、Borland Internationalから市販されている「Quattro Pro for Windows（Ｒ）(Getting Started, User's Guide and Building SpreadsheetApplications)」に記載されている。
【００２７】
内容に依存するオンライン・ヘルプ情報
Ａ．はじめに
従来の電子スプレッドシートは組み込み手段を含み、これによってスプレッドシート・ユーザは各自のディスプレイ装置１０６にオンライン・ヘルプ情報を容易に表示することができる。こうした手段の典型的な例は、プッシュボタン・オブジェクト、あるいはメニューまたはサブメニュー項目、またはショートカット・コマンドであり、スプレッドシート・ユーザはポインティング・デバイス１０５でクリックするか、またはキーボード１０４でキー入力することによって、これらをトリガーすることができる。
【００２８】
図１０の例には、２つのテーブルが定義されたディスプレイ装置１０６の一部が表示されている。アドレスＢ３．．Ｅ１６で示されるセル５０１の第１の範囲は、欧州通貨の情報を記録するテーブルに相当し、
・左端の第１の列は国名を表示し、、
・第２の列は対ユーロの為替レートを表示し、
・第３の列は対米ドルの為替レートを表示し、
・第４の列は通貨ＩＳＯコードを表示する。
この範囲５０１は通貨という名前を与えられ、国に関する情報から為替レートを決定するいくつかのセルにおける公式を介して参照することができる。
【００２９】
アドレスＢ１９．．Ｆ２７で示される第２の範囲５０２は、欧州支店の収益、ならびにユーロおよび米ドルの双方による累積収益を表示するテーブルに相当する。この第２の範囲５０２では、
・左端の第１の列は支店の所在都市を表示し、
・第２の列は支店の所在国を表示し、
・第３の列は支店の収益を現地通貨で表示し、
・第４の列は累積収益をユーロで表示し、
・右端の第５の列は累積収益を米ドルで表示する。
【００３０】
範囲５０２の第４の列内で累積収益を計算するには、スプレッドシート・ユーザはまずポインティング・デバイス１０５やキーボード１０４などの従来の手段を介してアドレスＥ２１のセル５０３を選択すると、このセルが現在選択されているセルとなる。次いで、スプレッドシート・ユーザは、編集ウィンドウ５０４に表示されているように、キーボード１０４を用いて該当の公式を現在選択しているセル５０３に入力することができる。図１０に示す例では、現在選択しているセル５０３の内容は、
「+E20+D21/@DGET($CURRENCY,"RATE %XEU";COUNTRY=C21)」
である。
セルの内容が、スプレッドシート環境内で定義されている構文または語彙あるいはその両方に関連するルールに準拠していない場合は、５０３に示すように、「ＥＲＲ」という値がただちにこのセルに表示される。
【００３１】
こうした状況では、通常、スプレッドシート・ユーザは、この「ＥＲＲ」という値の理由を知るために、組み込みオンライン・ヘルプ・ツールを呼び出すことができる。このためには、ポインティング・デバイス１０５やキーボード１０４など、電子スプレッドシート・ツールで利用できる従来の手段は、図１２に示すように「Help Topics」という名の第１のユーザ・インターフェース・ダイアログ・ボックス６００をディスプレイ装置１０６上に表示するために使用することができる。このダイアログ・ボックス６００は、６０１、６０２、および６０３という３つのフォルダを含む。
・第１のフォルダ６０１は、スプレッドシート・ユーザが本を読んでいるかのように、すべてのオンライン・ヘルプ情報内をナビゲートすることを可能にするインターフェースのような「目次」を提供する。
・第３のフォルダ６０３は、スプレッドシート・ユーザがすべてのオンライン・ヘルプ情報内でユーザが指定した文字列が出現する箇所すべてを見つけ出すことを可能にするインターフェースのような「検索エンジン」を提供する。
・第２のフォルダ６０２は、スプレッドシート・ユーザが事前定義された索引項目を指定することによって、すべてのオンライン・ヘルプ情報内をナビゲートすることを可能にするインターフェースのような「索引」を提供する。
この索引項目は、次の２つの方法で指定することができる。
・第１の方法では、図１３に示すように、スプレッドシート・ユーザはキーボード１０４を用いて、索引項目の最初の文字を専用の入力フィールド６１０にタイプする。アルファベット順に従って、指定された文字の前に位置する第１の有効な索引項目を認識することによって、ウィンドウ６０５の内容が更新され、索引項目として選び出された結果を表示する。
・第２の方法では、スプレッドシート・ユーザはポインティング・デバイス１０５を直接使用して、ウィンドウ６０５内の項目を選択したり、またはエレベータ６０９によってこのウィンドウ６０５内をナビゲートすることができる。
いずれの方法を使用しても、ダイアログ・ボックス６００のウィンドウ６０５内で索引項目６１１が選択される。我々のシナリオでは、スプレッドシート・ユーザは、現在選択しているセル５０３の内容の「＠ＤＧＥＴ」組み込み関数の使い方を誤った可能性があるため、索引項目として「ＤＧＥＴ」を選択している。
【００３２】
次のステップは、ポインティング・デバイス１０５を用いて「Display」という名のプッシュボタン６０６をクリックするスプレッドシート・ユーザ用に構成されている。結果として、図１４に示すように、新たなダイアログ・ボックス６２０がディスプレイ装置１０６上に表示される。この新たなダイアログ・ボックス６２０は、６２１、６２２、６２３、および６２４という複数のオブジェクトを含む。これらのオブジェクトの内容は次のとおりである。
・「Help Topics」という名のプッシュボタン６２１によって、前のダイアログ・ボックス６００に戻ることができる。
・「Print」という名のプッシュボタン６２２によって、印刷装置１０８でダイアログ・ボックス６２０の内容を印刷することができる。
・「Go Back」という名のプッシュボタン６２３によって、同じダイアログ・ボックス６２０内で前に表示した内容がある場合には、そこへ戻ることができる。
・最後にウィンドウ６２４は、前のステップで選択した索引項目に対応するオンライン・ヘルプ情報を表示する。この情報はいくつかのハイパーテキスト参照を含むことができ、したがって、さらなる情報を直接表示することができる。これは参照６２５によって例示されており、この参照６２５は＠ＤＧＥＴ組み込み関数の例を指している。スプレッドシート・ユーザがポインティング・デバイス１０５でハイパーテキスト参照６２５をクリックすると、図１５に示すように新たなダイアログ・ボックス６３０がディスプレイ装置１０６上に表示される。
この新たなダイアログ・ボックス６３０は、６３１、６３２、６３３、および６３４という複数のオブジェクトを含む。これらのオブジェクトの内容は次のとおりである。
・「Help Topics」という名のプッシュボタン６３１によって、前のダイアログ・ボックス６００に戻ることができる。
・「Print」という名のプッシュボタン６３２によって、プリンタ１０８でダイアログ・ボックス６３０の内容を印刷することができる。
・「Go Back」という名のプッシュボタン６３３によって、同じダイアログ・ボックス６３０内で前に表示した内容がある場合は、そこへ戻ることができる。
・最後にウィンドウ６３４は、我々のシナリオでは＠ＤＧＥＴ組み込み関数の例に対応するオンライン・ヘルプ情報を表示する。この例は見本のテーブル６３５に基づいており、この見本のテーブル６３５の性質、内容、サイズは固定されている。ダイアログ・ボックス６３０のウィンドウ６３４内に表示されているこの見本の例に示されている組み込み関数の構文と、編集ウィンドウ５０４に表示されている現在選択しているセル５０３の内容とを比較することは、スプレッドシート・ユーザがＥＲＲの値の理由を知る方法としては不十分である。より一般的には、スプレッドシート・ユーザは多少なりとも似たような状況、すなわちオンライン・ヘルプ情報がほとんどヘルプにならない（という矛盾した）状況にたやすく遭遇する可能性がある。これは、ユーザがエラーを修正する上でオンライン・ヘルプ情報が手助けにならないためである。
【００３３】
本発明は、これらの問題に対するユーザ・フレンドリな解決策を提供する。この解決策は、電子スプレッドシートのユーザがオンライン・ヘルプ情報の新しい様式を受け取れるようにするものであり、この新しい様式のオンライン・ヘルプ情報は、現在選択しているセルの内容から直接得た例を提供する。以降の説明では、対応する新しいオンライン・ヘルプ方式を「内容依存ヘルプ」方式と呼ぶ。
【００３４】
Ｂ．内容依存キーワード・テーブル
内容依存ヘルプ方式によるオンライン内容依存ヘルプ情報は、スプレッドシート・ユーザの操作の結果としてディスプレイ装置１０６に表示される。この操作が行われると、現在選択しているセルの内容に、本発明によるオンライン・ヘルプ情報の表示を正当化するキーワードが含まれているかどうかが、「内容依存キーワード・テーブル」（すなわち、略称ＣＤＫテーブル）と呼ばれる共通リポジトリを用いて識別される。このＣＤＫテーブルは不揮発メモリに保存されることが好ましい（通常は、大容量記憶装置１０７のスプレッドシート・ディスク・ファイルの一部として保存されるが、必ずしもその必要はない）。
【００３５】
図８を参照すると、ＣＤＫテーブル３００は、複数のレコード３０１からなる論理的に単純な構造に相当し、各レコードは、本発明による内容依存ヘルプ情報に関連するキーワードに相当する。各レコードは次の３つのフィールドを含む。
・「キーワード」フィールド３０２は、キーワードを一意的に識別する文字列を記録するために使用される。
・「パラメータ・テンプレート」フィールド３０３（別称「引数テンプレート」）は、「キーワード」フィールド３０２によって識別されたキーワードに関連するパラメータがある場合に、そのパラメータの指定を司るフォーマットおよびルールを記述するために使用される。こうしたパラメータ・テンプレートの記述には、従来の複数の表記法を使用することができる。これらの表記法は、いかなる形においても本発明の趣旨に影響を与えるものではない。留意すべき点として、本説明では「パラメータ」および「引数」という用語を特に明確には区別せずに用いる。本発明の好ましい実施形態では、キーワードは、事前に定義された組み込み関数に対応することができ、この組み込み関数は、事前に定義されたフォーマットまたは事前に定義されたルールあるいはその両方に従ったパラメータのセットによって呼び出されなければならない。
・「TextPtr」フィールド３０４はメモリ位置を指す参照であり、このメモリ位置には、「キーワード」フィールド３０２によって識別されたキーワードに関連するヘルプ情報テキストが記憶される。このメモリ位置は本発明の趣旨から逸脱することなく、大容量記憶装置１０７、またはメイン・メモリ１０２、あるいは他の従来のメモリ・リポジトリ手段のいずれに設けることもできる。
【００３６】
このテーブルの作成および更新自体は従来からのものであり、複雑なものではない。本発明を活用するためのキーワード候補は、いずれもＣＤＫテーブル３００内の特定のレコード３０１に関連していなければならない。ＣＤＫテーブル３００内のレコード３０１を追加、削除、または更新するために用いるさまざまな手段は、実装によって異なるものであり、したがって本発明の一部とはみなされない。
【００３７】
Ｃ．シナリオ
前述の従来のツールとは対照的に、本発明は、いわゆる「内容依存ヘルプ」方式の形でオンライン内容依存ヘルプ情報を提供するためにより強力でユーザ・フレンドリかつ対話的な手法を提供する。
【００３８】
好ましい実施形態では、本発明は２つのステップで使用される。
・  １．第１のステップは、スプレッドシート・ユーザが、ここでは詳述しないいくつかの基準に基づいて所与のセルを選択し、場合によってはその内容を入力または更新しようとする際に実行される。
・ユーザは、まず従来の手段を用いて該当のセルを選択する。この従来の手段にはポインティング・デバイス１０５やキーボード１０４が含まれるが、これらには限定されない。
・次いで、ユーザは、従来の手段（通常はキーボード１０４）を用いて選択したセルの内容を更新または入力するためのセル編集モードに入ることができる。
・  ２．第２のステップは、スプレッドシート・ユーザが、ここでは詳述しない独自の基準に基づいて本発明を活用して内容依存ヘルプ情報を表示しようとする際に実行される。
・スプレッドシート・ユーザは、スプレッドシート環境で利用できる従来の手段を用いて「内容依存オンライン・ヘルプ」という新規かつ特殊なコマンドを呼び出す。この従来の手段には、専用のプッシュボタン、キーボードのショートカット入力、メニューまたはサブメニュー項目が含まれるが、これらには限定されない。本発明の好ましい実施形態では、従来の電子スプレッドシート内で従来のオンライン・ヘルプ情報を表示するために利用できる手段と同じ手段の組合せを用いて、内容依存オンライン・ヘルプ・コマンドを呼び出す。こうした手段には、ポインティング・デバイス１０５で「ヘルプ」というメニュー項目をクリックすることや、キーボード１０４で「Ｆ１」キーをキー入力することが含まれるが、これらには限定されない。
【００３９】
これは、図１０で前述したシナリオと同一のシナリオを用いて説明することができる。このシナリオでは、スプレッドシート・ユーザは、まずセル５０３を選択し、次いで
「+E20+D21/@DGET($CURRENCY,"RATE %XEU";COUNTRY=C21)」
という内容を入力し、結果として「ＥＲＲ」という値を得る。こうした状況では、通常、スプレッドシート・ユーザは、この「ＥＲＲ」という値の意味を知るために組み込みオンライン・ヘルプ・ツールを呼び出すことができる。本発明の好ましい実施形態によると、図１６に示すように、ポインティング・デバイス１０５やキーボード１０４など、電子スプレッドシート・ツールで利用できる従来の手段を直接のトリガーとして使用し、新規なオンライン・ヘルプ情報ダイアログ・ボックス６４０をディスプレイ装置１０６に表示することができる。表示される情報は、現在選択しているセル５０３の内容に合わせたものとなる。
【００４０】
従来の方法に勝る第１の利点として、本発明は、現在選択しているセルの内容に関連したオンライン・ヘルプ情報を直接表示することを可能にする。図１２、１３、１４、および１５に記載されている中間のステップは、ダイアログ・ボックス６４０の表示に対応した１つのステップに統合される。図１６の例では、ダイアログ・ボックス６４０は、＠ＤＧＥＴ組み込み関数に関連するオンライン・ヘルプ情報を表示している。
【００４１】
従来の方法に勝る第２の利点として、スプレッドシート・ユーザにとってダイアログ・ボックス６４０に含まれる情報は、図１４のダイアログ・ボックス６２０および図１５のダイアログ・ボックス６３０に表示されている従来の情報よりも適切なものとなる。実際に、ダイアログ・ボックス６４０には、ダイアログ・ボックス６２０と同じオブジェクト６２１、６２２、６２３、６２４が含まれているが、これらに加えて、次のような新たなフィールドも含まれている。新たなフィールド６４２はディスプレイ・ウィンドウであり、本発明の方法によって現在選択しているセル５０３の内容から得られた内容が自動的に入力され、＠ＤＧＥＴ組み込み関数に関連したパラメータに関するフォーマットおよびルールに従って修正される。図１６に示す例では、作業バッファの内容に施された修正は、第１のパラメータで識別された範囲の有効なヘッダとなるべき第２のパラメータに関するものである。「ＥＲＲ」という値は、あいにくユーザが"RATE %XEU"というヘッダのスペルを誤って入力した結果として生じたものである。作業バッファに施された修正は、第１のパラメータで参照されたテーブルにおける左から２番めのヘッダ、すなわち記載の例では"RATE %XEU"をデフォルトで使用することである。新たなフィールド６４３はディスプレイ・ウィンドウであり、セルの内容がディスプレイ・ウィンドウ６４２に対応する場合には、そのセルによって得られた値を表示する。
【００４２】
最後に、「Copy」という名の新たなプッシュボタン６４１に触れると、現在選択しているセルに新たなディスプレイ・ウィンドウ６４２の内容をコピーすることができ、したがってディスプレイ・ウィンドウ６４３に表示されている値を得ることができる。スプレッドシート・ユーザがポインティング・デバイス１０５でこの「Copy」プッシュボタンをクリックしたとすると、図１０で前述したように、ディスプレイ装置に表示されたユーザ・インターフェースが、図１１に従って更新される。編集ウィンドウ５１４に表示されている、現在選択しているセルの内容は、内容依存オンライン・ヘルプ情報ダイアログ・ボックス６４０のディスプレイ・ウィンドウ６４２に表示されている内容と同一であり、５１３に表示されているように、内容依存オンライン・ヘルプ情報ダイアログ・ボックス６４０のディスプレイ・ウィンドウ６４３に表示されている値と同じ値をとる。本明細書で提示されている発明の好ましい実施形態においてスプレッドシート・ユーザがオンライン・ヘルプ情報の適正なレベルを受け取れることが、このシナリオによって明確に示されている。
【００４３】
Ｄ．内容依存ヘルプ方式
本発明を活用するために内容依存オンライン・ヘルプ情報を作成および表示する方法については、図９に示すフローチャート４００にまとめることができる。本方法は、内容依存オンライン・ヘルプ・コマンドの処理として見ることができる。
・ステップ４０１では、本方法はデフォルトの状態にあり、処理を開始するイベントを待っている。
・ステップ４０２では、ユーザ操作の結果として、内容依存オンライン・ヘルプ・コマンドが検出される。この操作は、たとえばキーボード１０４におけるキーの特定の組合せ、またはポインティング・デバイス１０５による特定のボタンのクリック、あるいは任意の他の類似の手段でもよく、これに関してはここではこれ以上詳述しない。
・ステップ４０３では、現在選択しているオブジェクトがユーザ入力フィールドを含むかどうかをチェックするためにテストを行う。スプレッドシート環境では、たとえば、現在選択しているオブジェクトがセルであるかどうか（ユーザ入力フィールド以外のプッシュボタン、グラフ、またはその他のオブジェクトではない）をチェックするためにテストを行う。ユーザ入力フィールドが含まれている場合は、ステップ４０４に制御が渡され、ユーザ入力フィールドが含まれていない場合は、ステップ４１８に制御が渡される。
・ステップ４０４では、現在選択しているオブジェクトの内容が作業バッファにコピーされる。
・ステップ４０５では、ＣＤＫテーブル３００の第１のフィールドである「キーワード」３０２内に存在する如何なるキーワードも識別するために作業バッファの内容に対して構文解析処理を行う。この目的のために、さまざまな構文解析技法を使用することができ、これらの技法は実装によって異なる。前提として存在するのは、構文解析処理を左から右へ行うということだけである。キーワードが見つからなかった場合は、制御がステップ４１８に渡される。キーワードが見つかった場合は、制御はステップ４０６に渡される前に、ＣＤＫテーブル３００の対応するレコード３０１が、そのフィールド、すなわち「キーワード」３０２、「パラメータ・テンプレート」３０３、および「TextPtr」３０４でもって記憶される。
・ステップ４０６では、「FieldUpdated」という名のローカル変数がデフォルト値FALSEに初期化される。
・ステップ４０７では、ステップ４０５で見つかった「パラメータ・テンプレート」フィールド３０３が空かどうかをチェックするためにテストを行う。空である場合は、制御がステップ４１２に渡される。空でない場合は、制御がステップ４０８に渡される。
・ステップ４０８では、ステップ４０５で見つかった「パラメータ・テンプレート」フィールド３０３に関して作業バッファの内容を構文解析する。この構文解析は、作業バッファ内においてステップ４０５で行った前の構文解析処理時に到達した位置から再開される。この構文解析処理は、「パラメータ・テンプレート」で指定された、キーワードに関連する１つまたは複数のパラメータが作業バッファ内にある場合は、そのパラメータを識別し、
・まず初めに、作業バッファ内にパラメータのフォーマットがある場合は、そのフォーマットが、ステップ４０５で見つかった「パラメータ・テンプレート」フィールド３０３で指定されたフォーマットに従っているかどうかを検証し、
・次いで、作業バッファ内にパラメータがある場合は、そのパラメータが、ステップ４０５で見つかった「パラメータ・テンプレート」フィールド３０３で指定されたルールに従っているかどうかを検証する。
この構文解析処理の結果として、３つの異なる状況が生じる。
・如何なる問題にも遭遇することもなく作業バッファの終わりに到達した場合は、制御がステップ４１２に渡される。
・パラメータ・エラーが見つかった場合（１つまたは複数のパラメータが存在する状況で、そのパラメータが、「パラメータ・テンプレート」で指定されたルールに準拠していない場合）は、制御がステップ４０９に渡される。
・フォーマット・エラーが見つかった場合（１つまたは複数のパラメータが存在する状況で、そのパラメータが、「パラメータ・テンプレート」で指定されたフォーマットに準拠していない場合）は、制御がステップ４１０に渡される。
・ステップ４０９では、ステップ４０８で識別されたパラメータ・エラーが、ステップ４０５で見つかった「パラメータ・テンプレート」フィールド３０３に従って修正される。次で、制御がステップ４１１に渡される。
・ステップ４１０では、ステップ４０８で識別されたフォーマット・エラーが、ステップ４０５で見つかった「パラメータ・テンプレート」フィールド３０３に従って修正される。
・ステップ４１１では、ローカル変数 FieldUpdated が TRUE という値に設定され、次いで、制御はステップ４０８に渡されて、作業バッファの終わりに到達するまで作業バッファの内容に対して構文解析を続ける。
・ステップ４１２では、ローカル変数 FieldUpdated が TRUE と等しいかどうかをチェックするためにテストを行う。TRUEと等しい場合は、制御がステップ４１３に渡され、TRUEと等しくない場合は、制御がステップ４１５に渡される。
・ステップ４１３では、作業バッファの内容および作業バッファのとる値が、「TextPtr」フィールド３０４の指すヘルプ・テキスト内にコピーされ、その内容および値が表示されると、デフォルトのテキスト（通常は、見本の例の解説を指すハイパーテキスト参照）が上書きされる。
・ステップ４１４では、「Copy」プッシュボタン６４１がイネーブルされる。
・ステップ４１５では、６４０のようなオンライン・ヘルプ情報ダイアログ・ボックスが表示され、このダイアログ・ボックスは、「TextPtr」フィールド３０４の指すテキストをヘルプ情報として含み、場合によっては、ステップ４１３で実行された処理に従って更新される。
・ステップ４１６では、６４０のような表示されたダイアログ・ボックスに対するユーザ操作を待つ。「Copy」プッシュボタン６４１をクリックしたことが検出された場合は、制御がステップ４１７に渡される。検出されなかった場合は、制御がステップ４１９に渡される。
・ステップ４１７では、作業バッファの内容が、現在選択しているオブジェクトにコピーされる。
・ステップ４１８では、従来のオンライン・ヘルプ情報が従来の方法によって表示される。
・ステップ４１９では、制御が従来の方法に渡され、スプレッドシート・ユーザは、スプレッドシート・ユーザがオンライン・ヘルプ・ツールを閉じるまで、従来のオンライン・ヘルプ情報ダイアログ・ボックス内をナビゲートできる。制御は最初のステップに戻り、新たな内容依存オンライン・ヘルプ・コマンドを待つ。
【００４４】
代替実施形態
本発明による内容依存ヘルプ方式およびシステムは、情報の要素が４次元以上の多次元のテーブルとして編成されている環境で有利に使用することができる。より一般的には、本発明はオフィス環境およびビジネス環境において有利に使用することができ、より詳細には、事前定義されたルールおよび構文に従って、ユーザが情報の要素を編集することができるリレーショナル・データベース、テキスト・エディタ、プレゼンテーション・ツール、グラフィック・スイート、プロジェクト管理ツール、開発プログラミング統合ツールにおいて有利に使用することができる。
【００４５】
好ましい実施形態を参照して本発明を詳細に示し解説したが、本発明の趣旨および範囲から逸脱することなく本発明の形態および細部に対してさまざまな変更が可能であることは理解されよう。
【図面の簡単な説明】
【００４６】
【図１】本発明を実施できるコンピュータ・システムの概略図である。
【図２】本発明を実行するためのオペレーティング・システム、アプリケーション・ソフトウェア、およびユーザ・インターフェースを含むソフトウェア・システムの概略図である。
【図３】本発明を実施できるグラフィカル・ユーザ・インターフェースの基本的なアーキテクチャおよび機能を示す図である。
【図４】本発明の好ましい実施形態によるスプレッドシート・ノートブック・インターフェースを示す図である。
【図５】図４に示されているノートブック・インターフェースのツールバー・コンポーネントを示す図である。
【図６】図４に示されているノートブック・インターフェースの個々のページに迅速にアクセスして操作するためのページ識別子を示す図である。
【図７】図４に示されているノートブック・インターフェースの個々のページに迅速にアクセスして操作するためのページ識別子を示す図である。
【図８】本発明の好ましい実施形態による「内容依存キーワード・テーブル」（ＣＤＫテーブル）の構造を示す図である。
【図９】本発明による内容依存ヘルプ情報の構築のための好ましい方法を示すフローチャートである。
【図１０】好ましい実施形態における本発明の利点を示す好ましいスプレッドシート・ユーザ・インターフェースを示す図である。
【図１１】好ましい実施形態における本発明の利点を示す好ましいスプレッドシート・ユーザ・インターフェースを示す図である。
【図１２】オンライン・ヘルプ情報を表示するために使用する従来のダイアログ・ボックスと、本発明の好ましい実施形態による内容依存オンライン・ヘルプ情報を表示するために使用する好ましいユーザ・インターフェース・オリジナル・ダイアログ・ボックスを示す図である。
【図１３】オンライン・ヘルプ情報を表示するために使用する従来のダイアログ・ボックスと、本発明の好ましい実施形態による内容依存オンライン・ヘルプ情報を表示するために使用する好ましいユーザ・インターフェース・オリジナル・ダイアログ・ボックスを示す図である。
【図１４】オンライン・ヘルプ情報を表示するために使用する従来のダイアログ・ボックスと、本発明の好ましい実施形態による内容依存オンライン・ヘルプ情報を表示するために使用する好ましいユーザ・インターフェース・オリジナル・ダイアログ・ボックスを示す図である。
【図１５】オンライン・ヘルプ情報を表示するために使用する従来のダイアログ・ボックスと、本発明の好ましい実施形態による内容依存オンライン・ヘルプ情報を表示するために使用する好ましいユーザ・インターフェース・オリジナル・ダイアログ・ボックスを示す図である。
【図１６】オンライン・ヘルプ情報を表示するために使用する従来のダイアログ・ボックスと、本発明の好ましい実施形態による内容依存オンライン・ヘルプ情報を表示するために使用する好ましいユーザ・インターフェース・オリジナル・ダイアログ・ボックスを示す図である。
【図１】
2004532482.tif 000003
【図２】
2004532482.tif 000004
【図３】
2004532482.tif 000005
【図４】
2004532482.tif 000006
【図５】
2004532482.tif 000007
【図６】
2004532482.tif 000008
【図７】
2004532482.tif 000009
【図８】
2004532482.tif 000010
【図９】
2004532482.tif 000011
【図１０】
2004532482.tif 000012
【図１１】
2004532482.tif 000013
【図１２】
2004532482.tif 000014
【図１３】
2004532482.tif 000015
【図１４】
2004532482.tif 000016
【図１５】
2004532482.tif 000017
【図１６】
2004532482.tif 000018
【国際公開パンフレット】
2004532482.tif 000019
2004532482.tif 000020
2004532482.tif 000021
2004532482.tif 000022
2004532482.tif 000023
2004532482.tif 000024
2004532482.tif 000025
2004532482.tif 000026
2004532482.tif 000027
2004532482.tif 000028
2004532482.tif 000029
2004532482.tif 000030
2004532482.tif 000031
2004532482.tif 000032
2004532482.tif 000033
2004532482.tif 000034
2004532482.tif 000035
2004532482.tif 000036
2004532482.tif 000037
2004532482.tif 000038
2004532482.tif 000039
2004532482.tif 000040
2004532482.tif 000041
2004532482.tif 000042
2004532482.tif 000043
2004532482.tif 000044
2004532482.tif 000045
2004532482.tif 000046
2004532482.tif 000047
2004532482.tif 000048
2004532482.tif 000049
2004532482.tif 000050
2004532482.tif 000051
2004532482.tif 000052
2004532482.tif 000053
2004532482.tif 000054
2004532482.tif 000055
2004532482.tif 000056
2004532482.tif 000057
【国際公開パンフレット（コレクトバージョン）】
2004532482.tif 000058
【国際公開パンフレット（コレクトバージョン）】
2004532482.tif 000059
2004532482.tif 000060
【国際調査報告】
2004532482.tif 000061
2004532482.tif 000062