(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0014】
図1は、本発明の実施形態における情報処理装置100のハードウェア構成を示す図である。情報処理装置100は、オペレーティングシステムを搭載する汎用装置である。本実施形態ではパーソナルコンピュータを想定して説明を行うが、サーバ装置であってもよいし、携帯端末(携帯電話、スマートフォン、タブレット端末)であってもよい。
【0015】
CPU101は、システムバス104に接続される各デバイスやコントローラを統括的に制御する。
【0016】
また、ROM102あるいは外部メモリ111には、CPU101の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムや、情報処理装置100が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM103は、CPU101の主メモリ、ワークエリア等として機能する。
【0017】
CPU101は、処理の実行に際して必要なプログラム等をRAM103にロードして、プログラムを実行することで各種動作を実現するものである。
【0018】
また、入力コントローラ105は、キーボードやマウス等のポインティングデバイス(入力デバイス109)からの入力を制御する。
【0019】
ビデオコントローラ106は、ディスプレイ110等の表示器への表示を制御する。表示器はCRTや液晶ディスプレイでも構わない。
【0020】
メモリコントローラ107は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ111へのアクセスを制御する。
【0021】
通信I/Fコントローラ108は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0022】
尚、CPU101は、例えばRAM103内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ110での表示を可能としている。また、CPU101は、ディスプレイ110の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0023】
本発明の情報処理装置100が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ111に記録されており、必要に応じてRAM103にロードされることによりCPU101によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ111に格納されている。
【0024】
次に、情報処理装置100の機能構成の一例について、
図2を用いて説明する。
【0025】
情報処理装置100は機能部として、記憶部201、表示部202を備えている。記憶部201は、情報処理装置100を動作させるための各種プログラムやデータ等を記憶管理するための機能部である。特に、本実施形態においては、後述するテンプレートデータ400やオブジェクトテーブル600、価格条件テーブル610、ページ設定テーブル620等を記憶する(記憶手段)。また、テンプレートデータ400から生成された文書データ410をユーザから指示されたフォルダに保存する。
【0026】
表示部202は、情報処理装置100のディスプレイ110に各種画面を表示するための機能部である。
【0027】
更に、情報処理装置100は、文書作成アプリケーション210がインストールされている。文書作成アプリケーション210は機能部として、マクロ制御部211、文書データ生成部212、ページ貼付部213、オブジェクト制御部214、ページ設定部215を備えている。
【0028】
マクロ制御部211は、後述するテンプレートデータ400に含まれるマクロの実行を制御するための機能部である。本実施形態におけるマクロとは、マクロ制御部211で実行可能な言語により記述されたプログラムである。
【0029】
文書データ生成部212は、文書作成アプリケーション210で処理可能な文書データを生成するための機能部である。ここでいう処理可能とは、文書データの読み込み、表示、編集、保存等を示す。文書作成アプリケーション210で取り扱うことが可能であればよい。
【0030】
ページ貼付部213は、ある文書データのページを他の文書データに貼り付けるための機能部である。すなわち、ある文書データのページが他の文書データ内のページとして丸ごと複製される。ただし、ここでいう貼り付けを行ったとしても、後述するマクロ402やページ設定テーブル620貼り付けられない。これらはページに対応する情報ではなく、文書データに対応する情報であるためである。一方、ページに対応する情報である、後述するオブジェクトテーブル600は貼り付けられる。
【0031】
オブジェクト制御部214は、文書データに含まれるオブジェクトの文字列やオブジェクトテーブル600を追加・変更・削除するための機能部である。本実施形態におけるオブジェクトとは、文字列や図形や画像といった文書データに表示される情報である。
【0032】
ページ設定部215は、後述するページ設定テーブル620に文書データを構成するページの設定を行う機能部である。本実施形態においては、文書データを構成するページの設定を文書データごとに設定する。尚、ページごとにページ設定が可能であってもよい。
【0033】
尚、情報処理装置100が備える機能部はこれ以外にあってもよい。前述した機能部に限られるものではない。
【0034】
次に、本実施形態の一連の処理の流れについて、
図3に示すフローチャートを用いて説明する。後述する
図3の各ステップは、情報処理装置100のCPU101が実行する動作である。
【0035】
まず、ステップS301では、情報処理装置100にインストールされている文書作成アプリケーション210を外部メモリ111から読み出し、RAM103にロードして文書作成アプリケーション210を起動する。
【0036】
ステップS302では、文書作成アプリケーション210にテンプレートデータ400を読み込ませる。本実施形態においてテンプレートデータ400とは、チラシ(すなわち文書データ)を作成するためのテンプレートとなる文書データのことである。
【0037】
ここで、テンプレートデータ400のデータの構成を
図4に示す。テンプレートデータ400は、ページ401、オブジェクトテーブル600、ページ設定テーブル620、マクロ402を含む。テンプレートデータ400は、例えばプレゼンテーション用の文書データであり、ページはいわゆるスライドに相当する。ページ401は、1または複数のページから構成されており、チラシに掲載する商品が各ページにレイアウトされている。ページ401のレイアウト例を
図5に示す。
図5は、テンプレートデータ400の1ページ目のレイアウト例である。商品が3つ配置されており、それぞれ納入価格(以下、価格)を表示するオブジェクトが配置されている。
【0038】
価格のオブジェクトには、属性情報としてダイアログ500に示すような情報がそれぞれ対応付けられている。「PC−AAA」という商品の価格のオブジェクトには、属性情報として「原価=47800」「カテゴリ=ノートPC」という情報が対応付けられている。この属性情報を管理するためのテーブルが、
図6に示すオブジェクトテーブル600である。前述した
図4のテンプレートデータ400にも含まれている。
【0039】
オブジェクトテーブル600は、オブジェクトID601、ページ番号602、属性情報603、文字列604を含む。オブジェクトID601は、文書データにオブジェクトを配置する度に文書作成アプリケーション210のオブジェクト制御部214によって割り振られる、オブジェクト固有の識別情報である。オブジェクトテーブル600は、文書データごとに備えるものなので、オブジェクトID601は文書データ内で固有の識別情報である。すなわち、他の文書データであれば、同じ識別情報が存在しうる。ページ番号602は、オブジェクトID601が示すオブジェクトが配置されているページの番号を示す。属性情報603は、オブジェクトID601が示すオブジェクトに対応付けられた属性情報の内容を示す。例えば、
図5のダイアログ500に示す属性情報は、
図6のオブジェクトテーブル600のオブジェクトID601が「OBJ005」のレコードの属性情報603である。文字列604は、オブジェクトID601が示すオブジェクトに表示される文字列を示す。
【0040】
また、テンプレートデータ400はページ設定テーブル620を備えている。ページ設定テーブル620のテーブル構成を
図6に示す。ページ設定テーブル620は、幅621、高さ622を含む。幅621と高さ622は、文書データを構成するページの幅と高さとを示す設定値である。本実施形態では、幅621と高さ622とに格納される値の単位はセンチメートルであるが、特にこれに限らない。また本実施形態では、幅621と高さ622の設定項目しか明記していないが、これ以外に設定項目が存在してもよい。
【0041】
更に、テンプレートデータ400はマクロ402を備えている。これは、後述するステップS303乃至ステップS314を実行するためのプログラムである。テンプレートデータ400を読み込むと自動的にテンプレートデータ400のマクロ402が実行されるようにプログラミングされている。本願発明では、このマクロ402をチラシの文書データに含めないようにするための仕組みである。
【0042】
このようなテンプレートデータ400をあらかじめ用意しておき、ステップS302で読み込むようにする。
【0043】
図3に説明を戻す。ステップS303では、文書作成アプリケーション210のマクロ制御部211を用いて、ステップS302で読み込んだテンプレートデータ400に含まれるマクロ402を実行する。これにより、マクロ402に記述された、後述するステップS304乃至ステップS314の処理が順次実行される。そのため、ステップS304乃至ステップS314の処理は、文書作成アプリケーション210のマクロ制御部211を用いて実行される。
【0044】
ステップS304では、表示部202を用いて、価格条件設定画面700をディスプレイ110に表示する。価格条件設定画面700の画面構成例を
図7に示す。価格条件設定画面700は、商品の価格を算出するための条件を設定する画面である。基本設定701には、価格掛率と上乗せ額とを設定するための入力フォームをそれぞれ備えている。また、カテゴリ別設定702には、商品のカテゴリごとに価格掛率と上乗せ額とを設定可能である。これを設定するためには、設定したいカテゴリのレコードが選択された状態で、変更ボタン703の押下を検知すると、
図7に示すダイアログ710が表示される。ここで選択されたカテゴリの価格掛率と上乗せ額の入力を受け付けることで、カテゴリごとの価格掛率と上乗せ額とを設定できる。
【0045】
ステップS305では、価格条件設定画面700で価格掛率と上乗せ額とが設定された状態で、価格条件設定画面700が備える実行ボタン704の押下を検知したか否かを判定する。実行ボタン704の押下を検知したと判定した場合には、ステップS306に処理を進める。実行ボタン704の押下を検知していないと判定した場合には、実行ボタン704が押下されるまで待機する。
【0046】
ステップS306では、価格条件設定画面700で入力を受け付けた価格条件(価格掛率、上乗せ額等)を取得し、価格条件テーブル610に記憶する。価格条件テーブル610のテーブル構成は、
図6に示す。価格条件テーブル610は、対象カテゴリ611、価格掛率612、上乗せ額613を含む。対象カテゴリ611は、価格条件を適用する商品のカテゴリを示す。価格掛率612は、対象カテゴリ611が示す商品の価格掛率を示し、上乗せ額613は、対象カテゴリ611が示す商品の上乗せ額613を示す。尚、本実施形態において価格掛率とは、価格の中で原価の占める割合を示す。すなわち、価格掛率が「0.9」である場合には、原価が90%で残り10%が利益分ということになる。
【0047】
図3に説明を戻す。ステップS307では、文書作成アプリケーション210の文書データ生成部212を用いて、新規の文書データを生成する(文書データ生成手段)。すなわち、ステップS307で生成する文書データは、テンプレートデータ400に含まれるオブジェクトを含んでいない、空の文書データが生成されるということである。
【0048】
ステップS308では、文書作成アプリケーション210のページ設定部215を用いて、ステップS302で読み込んだテンプレートデータ400のページ設定を、ステップS307で生成した文書データに適用する。より具体的には、テンプレートデータ400のページ設定テーブル620の幅621と高さ622とを文書データのページ設定テーブル620の幅621と高さ622にコピーする。新規の文書データは文書作成アプリケーション210が設定したデフォルトの値が幅621と高さ622に設定されているので、ステップS308では、これをテンプレートデータ400のページ設定に変更している。
【0049】
ステップS309では、文書作成アプリケーション210のページ貼付部213を用いて、テンプレートデータ400を構成するすべてのページ401を、ステップS307で生成した文書データに貼り付ける(ページ貼付手段)。またこの貼り付けに応じて、オブジェクトテーブル600もテンプレートデータ400から当該文書データに複製される。
【0050】
ここまでの処理を実行した結果が、
図4の文書データ410である。文書データ410は、ステップS307で生成された文書データである。この文書データ410は、新規に生成された文書データであるので、この文書データ410はテンプレートデータ400に含まれるマクロ402を含まない(それ以外のページ401、オブジェクトテーブル600、ページ設定テーブル620はテンプレートデータ400と同じである)。つまり、新規に作成した文書データに対してテンプレートデータ400から必要な情報を複製しているので、小売業者には見せなくないマクロ402は複製しないことで、情報の流出を防止している。
【0051】
ステップS310では、ステップS307で生成した文書データ410に表示する価格を算出し、算出した価格を文書データ410のオブジェクトの文字列604に代入する処理を実行する。価格代入処理の詳細は、後述する
図8に示す。
【0052】
ステップS311では、価格代入済みの文書データ410の保存先の指定を受け付ける。不図示のダイアログを通じて保存先のフォルダの指定を受け付けると共に、文書データ410のファイル名の指定を受け付ける。
【0053】
ステップS312では、記憶部201を用いて、ステップS311で指定を受け付けた保存先に、価格代入済みの文書データ410を保存する(文書データ保存手段)。
【0054】
ステップS313では、ステップS302で読み込んだテンプレートデータ400を閉じて、ステップS314では、ステップS301で起動した文書作成アプリケーション210を終了する。以上が、
図3の一連の処理の流れの説明である。
【0055】
次に、価格代入処理の流れについて、
図8のフローチャートを用いて説明する。後述する
図8の各ステップは、情報処理装置100のCPU101が実行する動作である。
【0056】
まず、ステップS801では、文書作成アプリケーション210のマクロ制御部211を用いて、変数Nを用意し、この変数Nの初期値として「1」を代入する。変数Nは後述する処理で参照するページのページ番号を変更するためのカウンタ変数である。
【0057】
ステップS802では、ステップS307で生成された文書データ410を構成するページ401のうち、Nページ目を参照する。すなわち、変数Nに格納されている値が「1」であれば、1ページ目を参照し、変数Nに格納されている値が「2」であれば、2ページ目を参照するということである。尚、ステップS802乃至ステップS809の処理はテンプレートデータ400の情報を用いて処理を行ってもよい。テンプレートデータ400と文書データ410は同じ情報を保持しているので、どちらの情報を用いてもステップS809で算出される価格は同じになる。よって、価格を算出するまでは、どちらの情報を用いてもよい。本実施形態においては、文書データ410の情報を用いて価格を算出するものとして説明を行う。
【0058】
ステップS803では、参照中のページに含まれるオブジェクトのうち、後述するステップS804乃至ステップS812を未処理のオブジェクトを参照する。ここで参照するオブジェクトの順番は特に問わない。
【0059】
ステップS804では、参照中のオブジェクトに属性情報603が存在するか否かを判定する。属性情報603が存在するということは価格を算出すべきオブジェクトである。参照中のオブジェクトに属性情報603が存在すると判定した場合には、ステップS805に処理を進める。参照中のオブジェクトに属性情報603が存在しないと判定した場合には、ステップS813に処理を進める。
【0060】
ステップS805では、参照中のオブジェクトの属性情報603を取得する。より具体的には、参照中のオブジェクトのオブジェクトID601を特定し、オブジェクトテーブル600のレコードのうち、このオブジェクトID601を含むレコードの属性情報603を取得する。
【0061】
ステップS806では、ステップS805で取得した属性情報603が示すカテゴリの価格条件が、価格条件テーブル610に存在するか否かを判定する。例えば、オブジェクトID601が「OBJ005」のオブジェクトは、属性情報603に「カテゴリ=ノートPC」が含まれているので、当該オブジェクトが示す商品のカテゴリは「ノートPC」であることがわかる。そして、価格条件テーブル610にこの「ノートPC」独自の価格条件が設定されているか否かを検索すると、
図6の価格条件テーブル610には2レコード目に対象カテゴリ611が「ノートPC」のレコードが存在することがわかる。つまり、デフォルトの価格条件とは異なる「ノートPC」独自の価格条件が設定されているので、これを適用して価格の算出を行うことになる。ステップS805で取得した属性情報603が示すカテゴリの価格条件が価格条件テーブル610に存在すると判定した場合には、ステップS807に処理を進める。ステップS805で取得した属性情報603が示すカテゴリの価格条件が、価格条件テーブル610に存在しないと判定した場合には、ステップS808に処理を進める。
【0062】
ステップS807では、ステップS805で取得した属性情報603が示すカテゴリ独自の価格条件を価格条件テーブル610から取得する。例えば、属性情報603に「カテゴリ=ノートPC」を含む場合には、対象カテゴリ611が「ノートPC」のレコードの価格掛率612と上乗せ額613とを取得する。
【0063】
ステップS808では、ステップS805で取得した属性情報603が示すカテゴリ独自の価格条件は価格条件テーブル610には存在しないので、対象カテゴリ611が「デフォルト」のレコードの価格掛率612と上乗せ額613とを取得する。
【0064】
ステップS809では、ステップS807またはステップS808で取得した価格条件を用いて、参照中のオブジェクトの商品の価格を算出する(価格算出手段)。より具体的には、参照中のオブジェクトの属性情報603から原価を取得する。例えば、オブジェクトID601が「OBJ005」の属性情報603は「原価=47800」であるので、原価は「47,800円」である。そして、ステップS807またはステップS808で取得した価格掛率612と上乗せ額613とを用いて、価格を算出する。価格は、「原価÷価格掛率+上乗せ額」により算出する。本実施形態では、価格条件として価格掛率と上乗せ額とを用いるため、前述した計算式によって価格を算出するが、これ以外の価格条件(例えば税込み等)を用いる場合には当該価格条件に適した計算式を用いる。
【0065】
ステップS810では、文書データ410の参照中のオブジェクトの文字列604に、ステップS809で算出した価格を代入する(内容更新手段)。
図9は価格代入後の文書データ410の1ページ目を示す図である。
図9に示す通り、文書データ410の1ページ目はテンプレートデータ400の1ページ目からコピーされたので、テンプレートデータ400の1ページ目(
図5参照)と同じオブジェクトが同じレイアウトで配置されている。「PC−AAA」の価格を示すオブジェクトはオブジェクトID601が「OBJ005」であるので、前述した説明の通り価格を算出すると、「53,111円」となる。この価格をオブジェクトID601が「OBJ005」のオブジェクトの文字列604に代入する。元々、当該オブジェクトには「[納入価格]」という文字列604が格納されているので、これを「53,111円」に更新する。尚、テンプレートデータ400を用いて価格を算出する場合には、テンプレートデータ400で参照中のオブジェクトに対応する文書データ410のオブジェクトを特定し、当該特定した文書データ410のオブジェクトに算出した価格を代入するようにすればよい。
【0066】
ステップS811では、ステップS810で価格が代入されたオブジェクトの属性情報603を削除する(属性情報削除手段)。すなわち、現在参照しているオブジェクトは小売業者に配布するためのチラシの文書データ410であるので、この文書データ410のオブジェクトの属性情報603に商品の原価等が含まれていると、これが小売業者に知られてしまう可能性がある。そこで、ステップS811ではこの属性情報603を文書データ410から削除してしまうことで、このような問題を解決している。属性情報603を削除すると、属性情報603には「NULL」が格納される。そして、
図9に示すように、属性情報603を削除したオブジェクトのダイアログ500には、何も入力されていない状態となる。
【0067】
ステップS812では、参照中のページに含まれるオブジェクトのうち、ステップS803乃至ステップS811を未処理のオブジェクトがないか否かを判定する。未処理のオブジェクトがないと判定した場合には、ステップS813に処理を進める。未処理のオブジェクトがあると判定した場合には、ステップS803に処理を戻す。そして、参照中のページに含まれるすべてのオブジェクトに対してステップS803乃至ステップS811の処理が完了するまで、ステップS803乃至ステップS812の処理を繰り返す。
【0068】
ステップS813では、参照中のページが最終ページであるか否かを判定する。最終ページであると判定した場合には、価格代入処理を終了し、価格代入処理の呼び出し元に処理を戻す。最終ページでないと判定した場合には、ステップS814に処理を進める。
【0069】
ステップS814では、変数Nに代入されている値をインクリメントする。すなわち、値を「1」増加させて、次のページを参照できるようにする。ステップS814の処理が完了したら、ステップS802に処理を戻し、次のページを参照する。以上が価格代入処理の説明である。
【0070】
以上説明したように、本実施形態によれば、文書データを更新するためのプログラムを含めずに、当該プログラムに従って更新された文書データを生成することの可能な効果を奏する。
【0071】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0072】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0073】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0074】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0075】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0076】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0077】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0078】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0079】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0080】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0081】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。