(57)【要約】【課題】  表計算ドキュメントを印刷する場合、データの存在するセル範囲全体をロール紙に余白なく印刷するためには、ユーザにとって複雑な作業を伴っていた。まず、表計算データ全体が収まる範囲を印刷範囲として設定する必要があった。また、印刷範囲が１ページに収まり、かつ、印刷範囲の縦横比に応じた用紙サイズを算出して設定する必要があった。【解決手段】  本発明では、表計算ドキュメント上のデータの存在するセル範囲全体を自動的に印刷範囲とし、印刷範囲が丁度１ページ内に収まる用紙サイズを算出する。これにより、前述した課題を解決する。【選択図】  図７
2010067034.tif 000002
【特許請求の範囲】
【請求項１】
表計算ソフトにおける用紙サイズの算出方法において、
基準となる用紙サイズを設定する設定手段と、
表計算ドキュメントが前記基準用紙サイズによって横方向および縦方向に分割されるページ数を取得する取得手段と、
前記基準用紙サイズの幅を取得した前記横方向のページ数倍に拡大したサイズを用紙サイズの幅とし、前記基準用紙サイズの高さを前記縦方向のページ数倍に拡大したサイズを用紙サイズの高さとして算出する算出手段と、
を備えたことを特徴とする表計算ソフトにおける用紙サイズの算出方法。
【請求項２】
表計算ソフトにおける用紙サイズの算出方法において、
現在の用紙サイズに対して表計算ドキュメントが分割されるページ数を取得する取得手段と、
前記ページ数が１ページの場合に用紙サイズの大きさを縮小し、表計算ドキュメント上のデータ全体が収まる最小の用紙サイズを算出する算出手段と、
を備えたことを特徴とする表計算ソフトにおける用紙サイズの算出方法。
【請求項３】
表計算ソフトに組み込まれ、印刷装置を制御するプリンタドライバと連携して機能を拡張するプラグインソフトウェアであって、
請求項１、もしくは請求項２に記載の用紙サイズ算出方法によって用紙サイズを決定する決定手段と、
前記用紙サイズを表計算ソフトに設定する設定手段と、
前記用紙サイズからプリンタに出力するサイズへの変倍を行う設定をプリンタドライバに設定する変倍設定手段と、
を備えたことを特徴とするプラグインソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表計算ソフトウェアにおける用紙サイズを算出する方法に関する。
【背景技術】
【０００２】
表計算ソフトではページの概念が無い。そのため、表計算ドキュメントを印刷する際は、特許文献１に記載のように、ユーザは必ず一度は用紙サイズの設定を行う必要があった。
【０００３】
そこで、特許文献２に記載のシステムでは、ユーザの設定している印刷範囲を基に、システム保有の定形の用紙サイズから、印刷範囲が収まる用紙サイズを自動で選択するという技術が公開されている。
【０００４】
しかし、表計算ドキュメントに定形の用紙サイズを設定して印刷を行うと、意図しない箇所でページが分割されたり、意図しない余白が追加されたりする恐れがある。
【０００５】
ここで、図１１に図示したような表計算ドキュメントを印刷する場面を想定する。図１２（Ａ）は、表計算ドキュメントに対しＡ４サイズを用紙サイズとして設定した時の印刷物を図示したものである。また、図１２（Ｂ）は、表計算ドキュメントに対し、Ａ３サイズを設定した時の印刷物を図示したものである。
【０００６】
図示したように、図１２（Ａ）ではページの幅一杯に印刷されているが、途中でページが分割されてしまう。また、図１２（Ｂ）では、ページ内に表計算データ全体が印刷されているが、右側に余白が入ってしまう。
【０００７】
これは、表計算データの縦横比が定形サイズと異なるためであるが、ページの概念の無い表計算ソフトでは、大部分の表計算ドキュメントにおいて、図１１のように表計算データの縦横比は定型サイズと異なっていると考えられる。
【０００８】
そこで、図１１のような表計算ドキュメントを、ページの幅一杯に、かつ、ページ内に収めて印刷する手法として、ページの縦横比を自由にとることが可能であるロール紙への印刷が挙げられる。
【特許文献１】特開平１−２１７５１６
【特許文献２】特開平１０−００６６００
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来の技術においては、次のような問題があった。
【００１０】
まず、特許文献２に記載のシステムでは、ユーザは、表計算ドキュメントに対して、あらかじめ印刷範囲を指定する必要があった。
【００１１】
また、表計算ドキュメントを、ロール紙に対してページの幅一杯に、かつ、ページ内に収めて印刷するためには、
（１）表計算ドキュメント毎に、印刷範囲の縦横比に応じた非定型の用紙サイズを算出し、
（２）表計算ソフトに対して、算出した用紙サイズを設定し、
（３）印刷を行うプリンタのプリンタドライバに対して、算出した用紙サイズの原稿をロール紙の幅一杯に印刷されるように設定を行う
という一連の手順を踏む必要があった。そして、以上述べてきた手順は、高度な技術を要し、表計算ドキュメントを印刷する際の大きなハードルとなっていた。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明は、請求項１に対応して、表計算ソフトにおける用紙サイズの算出方法において、
基準となる用紙サイズを設定する設定手段と、
表計算ドキュメントが前記基準用紙サイズによって横方向および縦方向に分割されるページ数を取得する取得手段と、
前記基準用紙サイズの幅を前記横方向のページ数倍に拡大したサイズを用紙サイズの幅とし、前記基準用紙サイズの高さを前記縦方向のページ数倍に拡大したサイズを用紙サイズの高さとして算出する用紙サイズ算出手段と、
を備えたことを特徴とする。
【００１３】
また、本発明は、請求項２に対応して、
現在の用紙サイズに対して表計算ドキュメントが分割されるページ数を取得する取得手段と、
前記ページ数が１ページの場合に用紙サイズの大きさを縮小し、表計算ドキュメント上のデータ全体が収まる最小の用紙サイズを算出する用紙サイズ算出手段と、
を備えたことを特徴とする。
【００１４】
また、本発明は、請求項３に対応して、
表計算ソフトに組み込まれ、印刷装置を制御するプリンタドライバと連携して機能を拡張するプラグインソフトウェアであって、
請求項１、もしくは請求項２に記載の用紙サイズ算出方法によって用紙サイズを決定する用紙サイズ決定手段と、
前記用紙サイズを表計算ソフトに設定する用紙サイズ設定手段と、
前記用紙サイズからプリンタに出力する出力サイズへの変倍を行う設定をプリンタドライバに設定する変倍設定手段と、
を備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によって、ユーザは印刷指示を与えるのみで、システムが自動的に印刷範囲を検知するため、ユーザは手動で印刷範囲を指定する必要が無くなり、操作性が向上する。
【００１６】
また、検知した印刷範囲が丁度収まる用紙サイズを自動で算出してくれるため、従来ユーザの行う必要のあった高度な計算をする必要がなくなり、操作性が向上する。
【００１７】
さらに、算出した用紙サイズを、表計算ソフトやプリンタドライバに対して、適切に設定を行うため、ユーザは一連の煩わしい手順を踏む必要がなくなる。
【００１８】
以上述べたように、本発明によって、ユーザは簡単な操作で表計算ドキュメントをロール紙にページ一杯に印刷することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下では、本発明の好適な実施形態の一例として、表計算ソフトのプラグインソフトウェア（以下プラグインと表記）を挙げ、プラグインの動作に基づき、表計算ソフトでの用紙サイズの決定方法について説明する。
【００２０】
ここで、プラグインとは、アプリケーションに対して機能を追加するプログラムである。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ（米国マイクロソフト社）や、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（米国マイクロソフト社）やＮｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（米国Ｎｅｔｓｃａｐｅ社）などは、自身の機能を拡張させるための手段を公開している。そのため、これらのアプリケーションはプラグインを登録して機能を追加することが可能となっている。
【００２１】
図１は、本発明の一実施形態であるプラグインを有するシステムのシステム構成図を示したものでであり、ＰＣ１０１と、大判プリンタに代表されるプリンタ１０２によって構成される。
１０３は、ＰＣ１０１上で動作する表計算ソフトであり、本実施例では、一般的な表計算ソフトである、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（米国マイクロソフト社）を想定して説明する。
【００２２】
１０４は、表計算ソフトの機能を拡張する拡張手段（プラグイン）であり、表計算ソフト上で動作し、表計算ソフトや、プリンタを制御するプリンタドライバと連携して動作する。
【００２３】
１０５は、アプリケーションがオペレーティングシステム（以下ＯＳと表記）を介してプリンタに印刷を依頼するプリンタドライバである。プリンタドライバはＯＳを介して受け取った印刷命令を解釈し、プリンタで解釈可能な印刷データの生成を行う。また、プラグイン１０４からの印刷設定の変更を受け付ける。
【００２４】
１０５は、プラグインの備える印刷設定管理部であり、後述する印刷設定プログラムを有する。
【００２５】
１０６は、プラグインの備える用紙サイズ管理部であり、表計算ドキュメントの用紙サイズの算出を行う用紙サイズ算出プログラムを有する。本発明の実施例の主要部分は、用紙サイズ管理部１０６に含まれる。
【００２６】
図２はＰＣの内部構造と外部との接続を示したブロック図である。
【００２７】
このＰＣは一般的な構成からなり、ＣＰＵを備えた中央処理装置２０１、ＲＡＭなどの記憶装置２０２、マウスやキーボード等の入力装置２０３、ＣＲＴやＬＣＤなどの表示装置２０４、ハードディスクや光磁気ディスク等の補助記憶装置２０５からなり、それぞれが内部バスラインＩＢにより接続されている。
【００２８】
入力装置２０３は、表計算ソフト１０３やプラグイン１０４が表示装置に表示するアイコンやメニュー、その他のオブジェクトに対し、ユーザからの各種入力を行うものである。
【００２９】
補助記憶装置２０５には、プラグイン１０４や表計算ソフト１０３やＯＳ、その他プログラム情報が格納されており、中央処理装置２０１から適宜呼び出され記憶装置２０２に格納される。
【００３０】
また、ＰＣ１０１の内部バスラインＩＢはプリンタ１０２と外部バスラインＢＬによって接続され、ＰＣからプリンタ１０２に対して、印刷ジョブの登録を行うことができる。
【００３１】
図３は表計算ソフト１０３を起動した画面を表している。表計算ソフトの画面は、現在編集中のドキュメントのタイトル等を表示するタイトルバー３０１と、表計算ソフトの備える機能をメニュー形式で表示するメニューバー３０２と、プラグインや表計算ソフトの備える機能がアイコン等にコントロール化して配置されるツールバー３０３と、現在編集中の表計算ドキュメントの表示を行う文書表示領域３０４からなる。
【００３２】
３０５はプラグイン１０４を表計算ソフト１０３にシステム登録することにより、表計算ソフトのツールバー３０３上に表示されるプラグイン起動アイコンである。ここで、表計算ソフトには既にプラグインが登録されているものとする。表計算ソフトに対するプラグインのシステム登録の方法については、公知であるため説明を省く。
【００３３】
図４はプラグイン起動アイコン３０５をユーザが押下することにより、プラグイン１０４が表示装置２０４に表示する印刷メニューダイアログ４０１である。
【００３４】
印刷メニューダイアログ４０１は、現在編集中の表計算ドキュメントに対して二通りの印刷方法を選択できるメニューを備えている。
【００３５】
４０２は現在編集中の表計算ドキュメントにおいて、表計算データが存在するセル範囲全体を印刷範囲として１ページに収めて印刷を行う「シート全体を印刷する」メニューである。
【００３６】
４０３はユーザがプラグイン起動アイコン３０５を押下する直前に選択していたセルの範囲を印刷範囲として１ページに収めて印刷を行う「選択した範囲を印刷する」メニューである。
【００３７】
４０４はキャンセルボタンであり、ユーザによって押下されると、印刷メニューダイアログを閉じ、プラグインの動作を終了する。
【００３８】
本実施例では、特にメニュー４０２が押下された時の動作について説明する。
【００３９】
図５はユーザが印刷メニューダイアログ４０１でメニュー４０２を押下することにより、プリンタ１０２の備えるロール紙に出力される印刷物のイメージ図である。図示したように、本実施例のプラグインを通して印刷を行うことにより、表計算ドキュメント上で表計算データが存在する範囲を自動で印刷範囲とし、印刷範囲の収まる用紙サイズを自動で算出して表計算ソフトに設定し、プリンタからロール幅紙一杯に印刷を行う。
【００４０】
以下では、プラグインの動作についてフローチャートに沿って説明し、本発明における用紙サイズの算出方法について詳細に説明する。
【００４１】
図６はプラグイン１０４の備える印刷メニューダイアログ４０１で、ユーザがメニュー４０２を押下した時に呼び出される印刷設定プログラムの動作を示したフローチャートである。
【００４２】
まずＳ６０１では、表計算ドキュメントにおいて表計算データが存在するセル範囲全体が１ページ内収まる用紙サイズの算出と設定を行う。ここで、用紙サイズの算出と設定については、後述する用紙サイズ算出プログラムによって行われる。
【００４３】
図７は、用紙サイズ算出プログラムの動作を示したフローチャートである。
【００４４】
まずＳ７０１では、表計算ドキュメントに対して基準とする用紙サイズ（基準用紙サイズ）を用紙サイズとして設定する。
【００４５】
ここで基準用紙サイズについては、特に大きさを特定するものではなく、プリンタドライバで扱えるサイズであればいかなるサイズであってもよいものとする。
【００４６】
ここでは、基準用紙サイズの一例としてプリンタドライバの扱える最小の用紙サイズを想定して説明を進める。
【００４７】
次にＳ７０２では、現在の用紙サイズ設定（Ｓ７０１で基準用紙サイズに設定されている）でのページ数（横方向Ｘページ×縦方向Ｙページ）によって、処理の分岐を行う。
【００４８】
ここで表計算ソフトは、一般的に、表計算ドキュメントのセルの幅高に対応するサイズを保持している。そのため、設定された用紙サイズの幅高に対して、どの範囲のセルが用紙サイズに収まるかが分かる。つまり、現在の用紙サイズで印刷するとどのセルでページが分割されるかが分かるようになっている。
【００４９】
Ｓ７０２では基準用紙サイズで印刷した時に１×１ページに収まる場合は、基準用紙サイズを用紙サイズと設定した状態で用紙サイズ算出プログラムを終了する。一方、１×１ページに収まらない場合は、処理をＳ７０３に進める。
【００５０】
Ｓ７０３では基準用紙サイズと、Ｓ７０２で取得したページ数（横方向Ｘページ×縦方向Ｙページ）から、表計算ドキュメント上の表計算データの存在するセル範囲が１ページ内に収まる用紙サイズ（ダミー用紙サイズ）を算出する。
【００５１】
ここで、ダミー用紙サイズの幅は、基準用紙サイズの幅を取得したページ数倍に拡大して求め、ダミー用紙サイズの高さは、基準用紙サイズの高さを取得したページ数倍に拡大して求める。具体的には、ダミー用紙サイズは、以下の計算式によって算出するものとする。
・ダミー用紙サイズ（幅）＝基準用紙サイズ（幅）×Ｘ
・ダミー用紙サイズ（高）＝基準用紙サイズ（高）×Ｙ
Ｓ７０４では、Ｓ７０３で算出したダミー用紙サイズを用紙サイズとして設定する。
【００５２】
次にＳ７０５では、現在の用紙サイズ設定（Ｓ７０４でダミー用紙サイズに設定されている）での横方向のページ数によって処理の分岐を行う。
【００５３】
横方向に１ページに収まると判別された場合は、Ｓ７０６に処理を移す。
【００５４】
Ｓ７０６では、ダミー用紙サイズの幅を１０％縮小したサイズを、再度、用紙サイズとして設定し、Ｓ７０５に処理を戻す。
【００５５】
そしてＳ７０５において１ページに収まると判別する間、Ｓ７０６の処理を繰り返し、Ｓ７０５において１ページに収まらないと判別された場合にＳ７０７に処理を移す。
【００５６】
次に、Ｓ７０７では、現在の用紙サイズ設定での縦方向のページ数によって処理の分岐を行う。
【００５７】
縦方向に１ページに収まると判別された場合は、Ｓ７０８に処理を移す。
【００５８】
Ｓ７０８では、ダミー用紙サイズの高さを１０％縮小したサイズを、再度、用紙サイズとして設定し、Ｓ７０７に処理を戻す。
【００５９】
そして、Ｓ７０７において１ページに収まると判別する間、Ｓ７０８の処理を繰り返し、Ｓ７０７において１ページに収まらないと判別された場合にＳ７０９に処理を移す。
【００６０】
続いてＳ７０９では、現在の用紙サイズ設定に対して、表計算データが存在するセル範囲全体を１ページに収めるための表計算ドキュメントの縮小率を取得する。前述したように表計算ソフトはセルの幅高に対応するサイズを保持している。そのため、セルの幅高に対応するサイズを縮小させれば１ページに収めることが可能であり、表計算ソフトからはその縮小率を取得できるようになっている。
【００６１】
Ｓ７１０では、現在設定されている用紙サイズをＳ７０９で取得した縮小率で除算したサイズを算出し、再度、用紙サイズとして設定を行う。
【００６２】
以上、述べてきたＳ７０１〜Ｓ７１０の処理を経て用紙サイズ算出プログラムを終了する。
【００６３】
図６の印刷設定プログラムのフローに戻る。
【００６４】
Ｓ６０１で用紙サイズの算出と、表計算ソフトに用紙サイズの設定を行った後、Ｓ６０２に処理が移る。
【００６５】
Ｓ６０２では、プリンタドライバ１０５に対して、Ｓ６０１で算出した用紙サイズの原稿をプリンタ１０２に装着されているロール紙の幅一杯に印刷されるように変倍設定を行う。
【００６６】
以上、説明してきた印刷設定プログラムの動作の後、プラグインは、表計算ソフトに対して印刷コマンドを送るように指示を行う。これによりプリンタからは図５に図示したような印刷物を得ることができる。
【００６７】
以下では、いくつかの表計算ドキュメント例において、前述した用紙サイズ算出プログラムが用紙サイズを算出するまでのフローを説明する。
【００６８】
まず、図８に示したような表計算ドキュメントを例として説明する。ここで図８の表計算ドキュメントは全てのセルの大きさが等しいものとする。
【００６９】
図８の点線８０１は、Ｓ７０１において基準用紙サイズ（本実施例では、プリンタドライバの扱える最小サイズを想定）を設定した時に、各ページに割り当るセル範囲を示している。
【００７０】
図８に示したように、基準用紙サイズでは、横方向４ページ×縦方向３ページに分割されるとする。用紙サイズ算出プログラムはこの分割数から、基準用紙サイズの幅を４倍、高さを３倍したダミー用紙サイズを算出して設定する。
【００７１】
図９は表計算ドキュメントにダミー用紙サイズを設定した時に、各ページに割り当るセル範囲を示した図である。図示したように、ダミー用紙サイズでは縦方向に２ページ×横方向に２ページに分割されるとする。そしてこの時、用紙算出プログラムはＳ７０６、Ｓ７０８の処理を行わない。
【００７２】
最後に、Ｓ７０９にて、ダミー用紙サイズに表計算データの存在するセル範囲を１ページに収めるための表計算ドキュメントの縮小率を取得し、Ｓ７１０にてダミー用紙サイズを縮小率で除算したサイズを用紙サイズとして決定する。
【００７３】
次に、図１０に示したような表計算ドキュメントを例として説明する。ここで図１０に示したように、この表計算ドキュメントはセルの大きさが種々異なっているとする。
【００７４】
図１０の点線で囲まれた範囲は、基準用紙サイズを設定した時に、各ページに割り当るセル範囲を示しており、基準用紙サイズでは、横３ページ×縦３ページになるとする。
【００７５】
図示したようにセルの大きさが異なる場合、１ページに収まるセルの個数も異なってくる。そして、このような表計算ドキュメントでは、ダミー用紙サイズ（幅：基準用紙サイズ幅の３倍、高さ：基準用紙サイズ高の３倍）を算出すると求めたい用紙サイズよりも大きくなりすぎてしまうことが多い。
【００７６】
そこで、用紙算出プログラムではＳ７０５〜Ｓ７０８において、１×１ページに収まらない程度のサイズまでダミー用紙サイズを縮小させる。
【００７７】
次に、Ｓ７０９では、現在のダミー用紙サイズに対し、表計算データの存在するセル範囲全てを１ページ内に収めるための、表計算ドキュメントの縮小率を取得する。
【００７８】
そして最後にＳ７１０でダミー用紙サイズを前述の縮小率で除算したサイズを用紙サイズとして決定する。
【００７９】
以上、述べたように、用紙算出プログラムを実行することにより、表計算ドキュメントを縮小させることなく、表計算データの存在するセル範囲全体を丁度１ページ内に収めるための用紙サイズが求めることができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の一適用例の表計算ソフトのプラグインを有するシステムの概略構成を示すブロック図である。
【図２】本発明の一適用例の表計算ソフトのプラグインを有するＰＣの内部構造と外部との接続を示した図である。
【図３】表計算ソフトを起動した時の画面を示している。
【図４】プラグインの表示する印刷メニューダイアログを一例を示している。
【図５】本発明の一適用例の表計算ソフトのプラグインを用いて印刷した印刷物を図示したものである。
【図６】印刷設定プログラムの動作を示したフローチャートである。
【図７】用紙算出プログラムの動作を示したフローチャートである。
【図８】表計算ドキュメントの一例に対して、基準用紙サイズを設定した様子を図示したものである。
【図９】表計算ドキュメントの一例に対して、ダミー用紙サイズを設定した様子を図示したものである。
【図１０】表計算ドキュメントの一例に対して、基準用紙サイズを設定した様子を図示したものである。
【図１１】表計算ドキュメントの一例を図示したものである。
【図１２】図１１の表計算ドキュメントに定形の用紙サイズを設定して印刷した印刷物を図示したものである。
【図１】
2010067034.tif 000003
【図２】
2010067034.tif 000004
【図３】
2010067034.tif 000005
【図４】
2010067034.tif 000006
【図５】
2010067034.tif 000007
【図６】
2010067034.tif 000008
【図７】
2010067034.tif 000009
【図８】
2010067034.tif 000010
【図９】
2010067034.tif 000011
【図１０】
2010067034.tif 000012
【図１１】
2010067034.tif 000013
【図１２】
2010067034.tif 000014