以下、送信対象出力装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における送信対象出力装置1を備えた情報処理装置1000のブロック図である。情報処理装置1000は、送信対象出力装置1と電子メール処理部201とを備えている。送信対象出力装置1と電子メール送信部201とは、信号線、バス等を介して、通信可能となるよう接続されている。なお、ここでは説明は省略しているが、電子メール処理部201は、例えば、ネットワーク等を介して、図示しない他のサーバ装置や端末装置等と接続されている。
送信対象出力装置1は、送信対象格納部101、対象メール情報格納部102、送信指示受付部103、本文情報取得部104、及び出力部105を備える。
送信対象格納部101には、1以上の送信対象情報が格納される。送信対象情報は、送信対象の情報である。ここでの送信とは、例えば、電子メールによる送信である。送信対象情報は、例えば、電子メール処理部201によって送信される情報である。送信対象格納部101に格納されている送信対象情報は、送信対象となり得る情報と考えてもよい。
送信対象情報は、例えば、表の情報(以下、表情報と称す)である。表とは、数値や、文字列を、配列して表したものである。表は、例えば、罫線を有していてもよい。表は、例えば、帳票に関連した表である。帳票とは、例えば、損益計算表、入出金伝票、売上伝票、出納帳、仕訳帳、請求書、領収書、納品書等である。帳票に関連した表は、帳票であってもよいし、1以上の帳票に含まれる情報を用いて作成された情報であってもよい。また、表は、会計処理ソフトウェアや財務管理ソフトウェア等が有する表や、これらが作成する表であってもよい。
ここでの表は、表のビューも含む概念である。ビューとは、例えば、一の表に格納されている1または2以上の情報を配置した、一の表とは異なる出力用(例えば表示用)の表である。例えば、勘定科目と金額とが対応付けられて格納されている会計表を出力するためのビューは、現金出納帳を示す表や、仕訳帳を示す表である。表のビューは、データベースや表の一部の情報を取り出して作成した表形式のレポートと考えてもよい。例えば、表は、データベースのレポート書き出し機能等で書き出された表であってもよい。
表は、例えば、データベースやスプレッドシートに格納されている情報の一部をクエリ等を用いた検索等により取得した情報を配列した情報や、これらの情報を、テンプレート等に配列した情報であってもよい。例えば、クエリは、表に配置するデータの取得元となるデータベースや他の表を指定する情報や、データを取得する期間等を指定する情報や、データベース等に格納されている情報の属性や項目や、その属性値等を指定する情報である。検索等により取得された情報が配置されるテンプレートは、ユーザにより指定されたテンプレートであってもよいし、予め指定されたテンプレートであってもよいし、クエリや検索指示等と対応づけられたテンプレートであってもよい。
ここでの表は、予め作成されている表であってもよいし、ユーザの指示等に応じて、動的に作成される表であってもよい。ここでのユーザの指示は、例えば、売上伝票を表示する、というような表示対象となる表を指定する指示であってもよい。
また、表は、ユーザが少なくとも一部を手入力すること等により作成した表であってもよい。
表情報とは、例えば、表を出力するための情報である。表情報のデータタイプやファイル形式等は問わない。表情報は、画像データであってもよく、テキストデータであってもよく、テキストデータと枠線等の情報との組み合わせであってもよく、また、表情報は、画像データとテキストデータとを有する情報であってもよい。また、表情報は、スプレッドシートやHTMLファイル等の、特定の装置やアプリケーションソフトウェア等で表を出力可能な情報であってもよい。また、表情報は、表を電子的に印刷することで取得された情報であってもよい。一の表情報は、複数の表を出力するための情報であってもよい。
また、表情報は、表を少なくとも一部に配置した情報を表示するための情報であってもよい。例えば、表情報は、1以上の表と、テキストや画像等の他の情報とを有する情報であってもよい。
また、送信対象格納部101に格納されている送信対象情報は、送信対象出力装置1が有する図示しない表示部が表示中の表についての、表示用の画像データや、この画像データを作成するために用いられた情報と考えてもよい。
送信対象格納部101には、送信対象情報が、ファイル名等の送信対象情報の識別子や、表のタイトル等の表の識別子や、表の種類や属性を示す情報と対応づけて格納されていてもよい。表の属性は、例えば、「社内秘」、「階級が部長以上のみ閲覧可能」等の、閲覧対象を制限する情報である。また、送信対象格納部101には、表等の送信対象情報を取得する際に用いられた情報、例えば、クエリや、送信対象情報の情報の取得元となる表やデータベース等を指定する情報等が、送信対象情報と対応づけられて格納されていてもよい。
送信対象格納部101に送信対象情報が格納されるタイミングやトリガー等は問わない。例えば、送信対象格納部101に予め送信対象情報が格納されていてもよいし、また、例えば、後述する送信指示受付部103が送信指示を受け付けた場合に、送信対象情報が作成されて、送信対象格納部101に蓄積、例えば一時記憶されてもよい。具体例を挙げると、送信対象出力装置1の図示しない表示部等が表等の情報を表示している場合に、送信指示受付部103が、表示している情報に対応した送信対象情報を出力する指示を受け付けた場合に、送信対象出力装置1の図示しない処理部や、出力部105等が、表示している情報、もしくは表示している情報のもとなる情報を用いて作成した送信対象情報が、送信対象格納部101に蓄積、例えば、一時記憶されてもよい。このように送信指示に応じて作成されて蓄積される送信対象情報を、後述する送信指示が指定する送信対象情報と考えてもよい。
ここでの格納は、一時記憶も含む概念である。例えば、送信を行う際に作成された送信対象情報が、送信対象格納部101に、一時記憶されてもよい。
送信対象格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
対象メール情報格納部102には、1また2以上の対象メール情報が格納される。対象メール情報は、対象特定情報と、本文関連情報とを有する。
対象特定情報は、送信対象情報を特定する情報である。対象特定情報は、送信対象情報を特定可能な情報であればどのような情報であってもよい。また、対象特定情報は、必ずしも一の送信対象情報を特定する情報である必要はない。例えば、対象特定情報は、送信対象情報のファイル名またはその一部や、拡張子である。
また、対象特定情報は、例えば、表のタイトル等の、送信対象情報が示す表を特定する情報であってもよい。また、対象特定情報は、送信対象情報が示す表を作成する際に用いられた情報等を特定する情報であってもよい。この場合、この特定された情報を用いて作成された表を結果的に特定することができる。例えば、対象特定情報は、表の作成に用いられるテンプレートを特定する情報(例えば、テンプレートの識別子等)や、表を作成する際に用いられるクエリ等を特定する情報(例えば、クエリの識別子等)であってもよい。また、対象特定情報は、表に配置された情報の取得元となるデータベースや表等を特定する情報(例えば、データベースや表の識別子等)であってもよい。また、対象特定情報は、表と対応づけられた表の種類や属性を指定する情報であってもよい。また、対象特定情報は、表に含まれる文字列や数字を指定する情報であってもよい。また、対象特定情報は、表のビューに割り当てられたビューの識別子であってもよい。また、対象特定情報は、表や表のビューの種類を特定する情報であってもよい。
対象特定情報は、例えば、いわゆるワイルドカード等の正規表現を有する情報であってもよい。また、対象特定情報は、送信対象情報を特定するための条件を示す情報や条件式を示す情報であってもよい。なお、対象特定情報は、どのようなデータ構造の情報であってもよい。
本文関連情報は、対応する対象特定情報で特定される送信対象情報を送信するための電子メール(以下、単にメールと呼ぶ場合もある)の本文に関する情報である。本文関連情報とは、例えば、メールのひな形の情報である。メールのひな形とは、メールに配置される文章や画像等のひな形であってもよいし、一のメールを構成するデータのひな形であってもよい。本文関連情報は、例えば、テキストデータまたは画像データの少なくとも一方を有する情報である。
本文関連情報は、例えば、メールに配置される定型文の情報である。具体的には、本文関連情報は、対応する対象特定情報で特定される送信対象情報を送信する際にメール本文等に配置される定型文の情報である。例えば、この定型文は、対応する対象特定情報で特定される送信対象情報を送信するためのメール本文等に記載される挨拶文や、案内文、注意事項等を示す文である。
対象メール情報格納部102には、例えば、予め指定されたタイトルを有する表情報である送信対象情報を特定する対象特定情報と、この送信対象情報をメールで送信する場合においてメールの作成に用いられるメールのひな形の情報である本文関連情報とを有する対象メール情報が格納される。具体例を挙げると、対象メール情報格納部102には、タイトルに"売上明細表"を含む表情報を特定する対象特定情報と、「今月の売上状況をご報告します。ご確認をよろしくお願いします。」という文字列の本文関連情報とを有する対象メール情報が格納される。
また、例えば、対象メール情報格納部102には、表を作成するための情報の取得元となる表のタイトルまたはファイル名を特定する対象特定情報と、この送信対象情報をメールで送信する場合においてメールの作成に用いられるメールのひな形の情報である本文関連情報とを有する対象メール情報が格納される。具体例を挙げると、対象メール情報格納部102には、データの取得元が「顧客情報」というタイトルを含む表情報を特定する対象特定情報と、「個人情報が含まれていますので、情報の取り扱いには注意してください。」という文字列の本文関連情報とを有する対象メール情報が格納される。この対象特定情報で特定される表は、例えば、表のビューと考えてもよい。
なお、本文関連情報は、対応する対象特定情報で特定される送信対象情報から取得する情報を指定する情報や、この指定する情報等に応じて送信対象情報から取得した情報を配置する位置を示す情報を有していてもよい。送信対象情報から取得する情報を指定する情報とは、例えば、送信対象情報に含まれる情報に対応づけられた属性を指定する情報、例えば属性名等や、予め指定されたパターンに合致する情報である。例えば、送信対象情報から取得する情報を指定する情報は、送信対象情報のタイトルや、日付、期間等の属性を指定する情報である。
送信対象情報から取得した情報を配置する位置を示す情報は、本文関連情報内の、取得した情報が配置される位置を特定可能な情報であればよく、例えば、本文関連情報の文頭や文末や行番号や先頭からの文字数等を指定する情報等であってもよいし、取得した情報と置換される本文関連情報内の特定の文字列や記号等であってもよい。
送信対象情報から取得する情報を指定する情報は、例えば、本文関連情報に配置された変数が示す情報と考えてよく、送信対象情報から取得した情報を配置する位置を示す情報は、例えば、この変数の配置されている位置と考えてもよい。具体例を挙げると、対象メール情報格納部102に格納されている「経営会議で使用する資料として、<変数>を送付します。ご確認をお願いします。」という対象メール情報において、この「<変数>」が指定する情報が、送信対象情報から取得する情報を指定す情報であり、この「<変数>」が配置されている位置が、取得した情報が配置される位置を示す情報であってもよい。
また、本文関連情報は、表情報である送信対象情報を取得する際に用いられたクエリに含まれる情報を指定する情報や、この指定する情報等に応じてクエリから取得した情報を配置する位置を示す情報を有していてもよい。クエリに含まれる情報は、例えばクエリが有する条件の1以上である。これらの情報は、本文関連情報に含まれる変数の一つと考えてもよい。クエリに含まれる情報を指定する情報は、例えば、クエリ内の予め指定された属性を有する情報等であり、例えば、クエリが有する条件の値である期間や、日付、タイトル、顧客名等である。また、クエリに含まれる情報を指定する情報は、クエリ内の予め指定されたパターンに合致した情報であってもよい。このクエリから取得した情報を配置する位置を示す情報は、上記の送信対象情報から取得した情報が配置される位置を示す情報と同様のものが利用可能である。
また、クエリから取得する情報を指定する情報は、例えば、本文関連情報に配置された変数が示す情報と考えてよく、クエリから取得した情報を配置する位置を示す情報は、例えば、この変数の配置されている位置と考えてもよい。
対象メール情報は、さらに、メールの送信先を示す情報である1以上の送信先情報を有していてもよい。送信先情報は、例えば、メールの送信先を示すメールアドレス等のアドレス情報である。また、このアドレス情報と対応づけられたニックネームや、複数のアドレス情報と対応づけられたグループID等であってもよい。また、送信先情報は、SNS(ソーシャルネットワークサービス)のメールのように、メールがアカウントやニックネーム等により宛先を特定可能なメールである場合等においては、メールの送信先のアカウントやニックネームであってもよい。また、ユーザの携帯電話番号をメールの宛先に利用可能なメールの場合、送信先情報は携帯電話番号であってもよい。
送信指示受付部103は、1以上の送信対象情報を送信する指示である送信指示を受け付ける。送信指示は、例えば、送信対象格納部101に格納されている1以上の送信対象情報を送信する指示であってもよい。また、送信指示は、図示しない表示部が表示している表情報等の送信対象情報を送信する指示であってもよい。また、送信指示は、図示しない表示部が表示している表等の情報の表示用データや、この表示用データの元となるデータに対応する送信対象情報を作成して送信する指示も含むと考えてもよい。例えば、送信指示は、図示しない表示部が表示している表等の情報の表示用データや、その元となるデータを電子的に印刷して得られるデータや、表示されているデータから取得したスクリーンショットのデータ等を、送信するための指示と考えてもよい。また、送信指示は、送信対象情報をメールの添付ファイルとして送信する指示と考えてもよい。
送信指示は、例えば、送信対象情報を指定する情報を有している。送信指示がどのように送信対象情報を指定するかは問わない。例えば、送信指示は、送信対象情報と対応づけられたファイル名等を送信対象情報を指定する情報として有していてもよい。また、送信指示は、送信対象情報が格納されている位置を示すポインタ等を送信対象情報を指定する情報として有していてもよい。
ここでの受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
送信指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。送信指示受付部103は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
本文情報取得部104は、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報を、対象メール情報を用いて取得する。本文情報取得部104は、例えば、送信指示が示す送信対象情報を送信対象格納部101から読み出し、読み出した、送信対象情報を特定する対象特定情報を、対象メール情報格納部102に格納されている1または2以上の本文メール情報が有する対象特定情報の中から検出する。そして、検出された対象特定情報を有する本文メール情報から本文関連情報を取得する。
例えば、本文情報取得部104は、対象メール情報格納部102に格納されている1または2以上の本文メール情報がそれぞれ有する対象特定情報を順次読み出して、送信指示が示す送信対象情報がこの対象特定情報で特定される情報であるか否かを判断する。そして、特定される情報であると判断された場合、この対象特定情報を有する本文メール情報が有する本文関連情報を取得する。
本文情報取得部104は、さらに、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた送信先情報を、対象メール情報を用いて取得してもよい。例えば、本文情報取得部104は、1以上の本文関連情報を取得した1以上の本文メール情報がそれぞれ有する送信先情報を取得する。
また、本文情報取得部104は、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報に、当該送信対象情報から取得した情報を加えた本文関連情報を取得するようにしてもよい。送信対象情報から取得した情報とは、例えば、表題等の表のタイトルや、テーブル名等の表の名称である。送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報とは、例えば、上述したように本文メール情報から取得した本文関連情報である。
例えば、本文情報取得部104は、送信対象情報から、予め指定された情報、例えば、予め指定された属性等を有する情報や、予め指定されたパターンに合致する情報を取得して、取得した情報を、送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報の任意の位置や、予め指定された位置に配置した本文関連情報を取得する。
また、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報が、上述したように、送信対象情報から取得する情報を指定する情報を有している場合、本文情報取得部104は、この指定する情報を送信対象情報から取得して、取得した情報を配置した本文関連情報を取得してもよい。
また、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報が、送信対象情報から取得した情報を配置する位置を示す情報を有している場合、本文情報取得部104は、送信対象情報から取得した情報を、本文関連情報のこの位置を示す情報が示す位置に配置した本文関連情報を取得してもよい。
また、送信指示が示す送信対象情報が、クエリを用いて取得された情報、例えば、表のビュー等の表情報である場合、本文情報取得部104は、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報に、クエリから取得した情報を加えた本文関連情報を取得するようにしてもよい。送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報とは、例えば、上述したように本文メール情報から取得した本文関連情報である。なお、送信対象情報を取得する際に用いられたクエリは、例えば、送信対象情報と対応づけて、送信対象格納部101や図示しない格納部等に蓄積しておくようにすればよい。
例えば、本文情報取得部104は、送信対象情報を取得するために用いられたクエリから、予め指定された情報、例えば、予め指定された属性を有する情報や、予め指定されたパターンに合致する情報を取得して、取得した情報を、送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報の任意の位置や、予め指定された位置に配置した本文関連情報を取得する。
また、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報が、上述したように、クエリから取得する情報を指定する情報を有している場合、本文情報取得部104は、この指定する情報を送信対象情報を取得するために用いられたクエリから取得して、取得した情報を配置した本文関連情報を取得してもよい。
また、送信指示受付部103が受け付けた送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報が、クエリから取得した情報を配置する位置を示す情報を有している場合、本文情報取得部104は、クエリから取得した情報を、本文関連情報のこの位置を示す情報が示す位置に配置した本文関連情報を取得してもよい。
本文情報取得部104は、通常、MPUやメモリ等から実現され得る。本文情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部105は、送信指示が示す1以上の送信対象情報と、本文情報取得部104が取得した本文関連情報とを出力する。出力部105は、例えば、送信対象情報と、本文関連情報とを、電子メール処理部201に出力する。ここでの出力は、電子メール処理部201へのデータの引き渡しと考えてもよい。
出力部105は、本文関連情報を、メールの本文の情報として、あるいはメールのひな形の情報として出力する。
出力部105は、例えば、送信対象情報を、メールの添付ファイルとして出力する。出力部105は、送信対象情報を出力する際に、送信対象情報から、予め指定されたファイル形式のファイル等を作成してもよい。このようにして作成された送信対象情報も、ここでは、元の送信対象情報と実質的に同じものと考えてもよい。また、送信対象情報に圧縮等の処理を行ってもよい。また、送信対象情報に、予め指定されたルール等により決定されたファイル名、例えば、日付と送信番号とを加えたファイル名等を付与するようにしてもよい。
出力部105は、さらに、本文情報取得部104が取得した送信先情報を電子メール装置に出力してもよい。
出力部105は、さらに、電子メール処理部201を起動する指示や、電子メール処理部201にメールを作成させる指示や、送信対象情報を有するメールを作成する指示等を出力してもよい。
なお、出力部105が、送信対象情報と、本文関連情報とを電子メール処理部201に送信する代わりに、送信指示が示す1以上の送信対象情報と、本文情報取得部104が取得した本文関連情報とを有するメール、例えば、送信対象情報を添付ファイルとして有し、本文関連情報をメールの本文内等に配置したメールを作成して、情報処理装置1000の図示しないモニタ等に表示し、ユーザ等の指示に応じて、この作成したメールを送信してもよい。あるいは、出力部105が、送信対象情報と、本文関連情報とを有するメールを作成して、このメールを送信先情報が示す送信先に送信してもよい。
ここでの出力とは、ディスプレイへの表示、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
出力部105は、通信手段や、表示デバイス等の出力デバイスを含むと考えても含まないと考えても良い。出力部105は、例えば、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
電子メール処理部201は、送信対象出力装置1の出力部105が出力する送信対象情報と本文関連情報とを受け取る。そして、電子メール処理部201は、受け取った送信対象情報と本文関連情報とを有するメールを作成する。例えば、送信対象情報を添付ファイルとして有し、本文関連情報をメール本文等に配置したメールを作成する。電子メール処理部201は、例えば、作成したメールを、情報処理装置1000の図示しないモニタ等に表示する。電子メール処理部201は、例えば、ユーザ等から受け付けたメールアドレス等を、作成したメールと対応づけて、図示しない格納部等に蓄積する。そして、例えば、電子メール処理部201は、ユーザ等から受け付けたメール送信の指示に応じて、作成したメールを、このメールと対応づけられたメールアドレスに対して送信する。
また、電子メール処理部201は、さらに、送信先情報を送信対象出力装置1の出力部105から受信してもよい。そして、電子メール処理部201は、例えば、上記で受信した送信対象情報と本文関連情報とを有するメールであって、この送信先情報をメールの送信先の情報として対応づけたメールを作成し、モニタ等に表示してもよい。そして、ユーザ等から受け付けたメール送信の指示に応じて、作成したメールを、送信先情報が示す送信先に送信するようにしてもよい。なお、電子メール処理部201は、作成したメールを、モニタ等に表示せずに、送信先情報が示す送信先に送信するようにしてもよい。
なお、図示しない受付部等が、ユーザ等から、モニタ等に表示されたメールに対する編集操作を受け付けるようにし、電子メール処理部201は、この編集操作に応じて、表示されたメールを編集するようにしてもよい。そして、電子メール処理部201は、編集したメールを送信するようにしてもよい。
なお、電子メール処理部201は、例えば、外部から送信される電子メールを受信してもよい。
電子メール処理部201は、例えば、いわゆるメーラー等の、コンピュータに、電子メールを送信する機能を実行させるアプリケーションプログラムにより実現される。ただし、電子メール処理部201は、専用のハードウェアで実現してもよい。
次に、送信対象出力装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)送信指示受付部103は、送信指示を受け付けたか否かを判断する。受け付けた場合、ステップS102に進み、受け付けていない場合、ステップS101に戻る。
(ステップS102)本文情報取得部104は、送信対象格納部101から、ステップS101で受け付けた送信指示が示す送信対象情報を読み出す。
(ステップS103)本文情報取得部104は、カウンターmの値に1を代入する。
(ステップS104)本文情報取得部104は、対象メール情報格納部102に、m番目の対象メール情報が格納されているか否かを判断する。格納されている場合、ステップS105に進み、格納されていない場合、ステップS112に進む。
(ステップS105)本文情報取得部104は、ステップS102で読み出した送信対象情報がm番目の対象メール情報が有する対象特定情報が特定する情報であるか否かを判断する。例えば、本文情報取得部104は、送信対象情報や送信対象情報を取得するために用いられた情報が、対象特定情報が示す条件等を満たす情報であるか否かを判断する。特定する情報である場合、ステップS106に進み、特定する情報でない場合、ステップS111に進む。
(ステップS106)本文情報取得部104は、m番目の対象メール情報から、本文関連情報と送信先情報との組を取得する。取得した情報は、図示しない格納部等に一時記憶する。
(ステップS107)本文情報取得部104は、ステップS102で読み出した送信対象情報が有する情報を、ステップS106で取得した本文関連情報に配置する必要があるか否かを判断する。例えば、本文関連情報に、送信対象情報から取得する情報を指定する情報や、送信対象情報から取得した情報を配置する位置を指定する情報があるか否かを判断する。配置する必要がある場合、ステップS108に進み、ない場合、ステップS109に進む。
(ステップS108)本文情報取得部104は、ステップS102で読み出した送信対象情報が有する情報を取得して、上記で格納されている本文関連情報に配置する。
(ステップS109)本文情報取得部104は、ステップS102で読み出した送信対象情報を取得するために用いたクエリから取得した情報を、本文関連情報に配置する必要があるか否かを判断する。例えば、本文関連情報に、クエリから取得する情報を指定する情報や、クエリから取得した情報を配置する位置を指定する情報があるか否かを判断する。配置する必要がある場合、ステップS110に進み、ない場合、ステップS111に進む。
(ステップS110)本文情報取得部104は、ステップS102で読み出した送信対象情報と対応づけられて送信対象格納部101等に格納されているクエリから情報を取得して、上記で格納されている本文関連情報に配置する。
(ステップS111)本文情報取得部104は、カウンターmの値を1インクリメントする。そして、ステップS104に戻る。
(ステップS112)出力部105は、ステップS106で取得した本文関連情報と送信先情報との1以上の組と、ステップS102で読み出した送信対象情報を出力する。例えば、電子メール処理部201に出力する。そして、処理を終了する。ここでは、ステップS108やステップS110で取得された情報が配置された本文関連情報と送信先情報との組も、ステップS106で取得した本文関連情報と送信先情報との組と考える。なお、出力部105は、ステップS106で取得した本文関連情報と送信先情報との1以上の組が複数である場合、本文関連情報と、本文関連情報と送信先情報との各組とを、それぞれ対応づけて有する情報を出力してもよい。この場合、例えば、電子メール処理部201は、本文関連情報と送信先情報との組毎に、送信先情報が示す送信先が宛先である本文関連情報と送信対象情報とを有するメールを作成してもよい。
以下、本実施の形態における情報処理装置1000の具体的な動作について説明する。
ここでは、一例として、情報処理装置1000の送信対象出力装置1が、企業の会計処理に関連した情報が格納されている図示しないデータベース等からクエリ等で取得した情報を、図示しないモニタ等で表示可能な装置である場合について説明する。
例えば、ユーザが、図示しない入力デバイス等を介して、送信対象出力装置1に対して、「部門別損益計算書」というタイトルの表を表示するメニュー項目を選択する操作をおこなったとすると、送信対象出力装置1は、この操作に応じて、「部門別損益計算書」の表に配置するデータを取得するクエリを作成するために必要となる集計期間の入力を求める入力フィールド等を図示しないモニタに表示する。
そして、ユーザが集計期間を示す情報として、開始日を2013年4月1日、終了日を2014年3月31日に指定する情報を入力したとする。送信対象出力装置1は、入力された情報を用いてクエリを作成し、このクエリに対応した情報を図示しないデータベースから取得する。作成されるクエリは、例えば、上記のメニュー項目に対して予め対応づけられていたクエリの変数部分を、上記で入力された集計期間の情報で置き換えて作成されたクエリである。このデータベースは、情報処理装置1000内に設けられていてもよいし、ネットワーク等で接続された外部のサーバ装置等が有していてもよい。
次に、予め図示しない格納部等に格納されている「部門別損益計算書」を示す表のテンプレート等を読み出し、クエリを用いてデータベースから取得した情報を、表のテンプレートに配置して、「部門別損益計算書」の表情報を作成する。このテンプレートは、例えば、上記のメニュー項目に対して予め対応づけられていたテンプレートである。作成された表情報のファイル名は、例えば、予め指定されたルールに従って作成されたファイル名である。具体的には、作成した表のタイトルである「部門別損益計算書」という文字列と、作成に用いられたクエリの終了日の月を示す文字列とを並べた文字列をファイル名にするというルールに従って決定された「部門別損益計算書(4月)」というファイル名であるとする。ここでは、ファイル名とタイトルとは異なる文字列となっている。作成した表情報は、送信対象格納部101にファイル名と対応づけられて蓄積される。
また、情報処理装置1000の図示しない表示部が、図示しないモニタ等に、上記で作成した表を表示する。情報処理装置1000の図示しない表示部は、送信対象出力装置1が有していてもよい。
図3は、送信対象出力装置1が表示した表である「部門別損益計算書(4月)」を示す図である。
また、ここでは、既に、他の表情報が作成されており、この表が、モニタ上の異なるウィンドウ(図示せず)等に表示されていたとする。
図4は、送信対象格納部101に格納されている送信対象情報を管理する送信対象情報管理表である。送信対象情報管理表は、「ID」と、「送信対象」と、「クエリ」という属性を有している。「ID」は、送信対象情報管理表のレコード(行)を管理する識別子である。「送信対象」は、送信対象情報であり、ここでは、送信対象情報のファイル名を示している。送信対象情報は、例えば、表の罫線や、データが配置される位置等を指定するためのスタイルシートとXMLデータとを組み合わせて有するファイルであるとする。なお、拡張子等は省略している。「クエリ」は、表情報を作成するために用いられたクエリである。なお、ここで示したクエリは、説明のための便宜上のものであり、必ずしも実際のクエリとして利用可能なものではない。
図3に示した表は、図4に示した送信対象情報管理表の「ID」が「002」であるレコードに対応する表である。この表のタイトルは、上述したように「部門別損益計算書」であり、図3の領域30に表示されている。
次に、ユーザが、図示しない入力デバイス等を利用して、図4に表示中の表に対応した送信対象情報、つまり表情報を送信する操作を行ったとすると、送信指示受付部103は、図3に示した表に対応する表情報、即ち、ファイル名が「部門別損益計算書(4月)」である送信対象情報を送信する送信指示を受け付ける。
送信指示受付部103が送信指示を受け付けると、送信対象格納部101からファイル名が「部門別損益計算書(4月)」である送信対象情報である表情報を図示しないメモリ等の格納部に読み出す。
図5は、対象メール情報格納部102に格納されている対象メール情報を管理する対象メール情報管理表である。対象メール情報管理表は、「ID」と、「対象特定情報」と「本文関連情報」と、「件名」と、「送信先」という属性を有する。「ID」は対象メール情報管理表のレコード(行)を管理する識別子である。「対象特定情報」は、対象特定情報である。例えば、「タイトル:(文字列)」は、タイトルが、「(文字列)」を含む送信対象情報を特定する情報であるとする。なお、「(文字列)」は任意の文字列を示す。かかることは以下においても同様であるとする。また、「クエリFROM:(文字列)」は、「FROM」の値が、「(文字列)」を含むクエリを用いて取得された送信対象情報を特定する情報であるとする。ここでのクエリの「FROM」とは、例えば、クエリによりデータを取得するための取得先となる表やデータベースの識別子を示す属性であるとする。「本文関連情報」は本文関連情報であり、ここではテキストのデータであるとする。なお、本文関連情報中の文字「<$」と「$>」とで囲まれた文字列は、例えば、送信対象情報またはクエリから取得する文字列と、取得した文字列を配置する位置を指定する情報であるとする。例えば、「<$」と「$>」との間の文字列が、「送信対象:(文字列)」である場合、ここでは、送信対象情報から、属性が「(文字列)」である情報を取得して配置することを意味している。また、例えば、「<$」と「$>」との間の文字列が、「クエリ:(文字列)」である場合、ここでは、送信対象情報と対応づけられたクエリから、属性「(文字列)」の属性値を取得して配置することを意味している。「件名」は、メールの件名である。なお、メールの件名は、本文に関連していることから、このメールの件名も本文関連情報と考えてもよいし、考えなくてもよい。本文の「送信先」は送信先情報であり、ここではメールアドレスであるとする。
なお、ここでは、「対象特定情報」は、自然言語で表しているが、「対象特定情報」は、例えば、これらの自然言語に相当する一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。また、「対象特定情報」は、これらの自然言語に対応する判断処理等を行うためのアルゴリズムであっても良い。
次に、本文情報取得部104は、図5に示した対象メール情報管理表の、「ID」の値が最も小さい値「01」であるレコードから「特定対象情報」の値「タイトル:売上明細」を取得する。そして、上記でメモリ等の格納部に読み出したファイル名が「部門別損益計算書(4月)」である送信対象情報が、この特定対象情報が特定する送信対象情報であるか否かを判断する。
この対象特定情報「タイトル:売上明細」は、上述したように、タイトルが「売上明細」という文字列を含む送信対象情報を特定する情報であるため、本文情報取得部104は、読み出した送信対象情報からタイトル「部門別損益計算書」を取得し、このタイトルが「売上明細」という文字列を含むか否かを判断する。ここでは含まないため、本文情報取得部104は、読み出した送信対象情報がこの対象特定情報で特定される情報でないと判断する。
次に、本文情報取得部104は、図5に示した対象メール情報管理表から「ID」の値が「02」であるレコードの「特定対象情報」の値「クエリFROM:CustomerSheet」を取得する。そして、上記でメモリ等の格納部に読み出したファイル名が「部門別損益計算書(4月)」である送信対象情報が、この特定対象情報が特定する送信対象情報であるか否かを判断する。
この対象特定情報「クエリFROM:CustomerSheet」は「FROM」の値が、「CustomerSheet」を含むクエリを用いて取得された送信対象情報を特定する情報であるため、本文情報取得部104は、読み出した送信対象情報「部門別損益管理表(4月)」に対応する「クエリ」の値を、図4に示した送信対象情報管理表から読み出し、読み出したクエリのFROMの属性値が、「CustomerSheet」を含むか否かを判断する。ここでは、図4の「ID」が「002」であるレコードの「クエリ」の「FROM」の属性値、即ち「FROM」の直後の文字列は、「ProfitSheet」であり、「CustomerSheet」を含まないため、送信対象情報は、この対象特定情報で特定される情報でないと判断される。
次に、本文情報取得部104は、図5に示した対象メール情報管理表の、「ID」の値が「03」であるレコードから「特定対象情報」の値「タイトル:損益計算書」を取得する。そして、上記でメモリ等の格納部に読み出した送信対象情報からタイトル「部門別損益計算書」を取得し、このタイトルが「損益計算書」という文字列を含むか否かを判断する。ここでは含むため、本文情報取得部104は、読み出した送信対象情報がこの対象特定情報で特定される情報であると判断する。
送信対象情報が、対象特定情報で特定されると判断されたため、この対象メール情報管理表の「ID」が「03」であるレコードの「本文関連情報」の値と、「件名」の値である「経営会議の資料」と、「送信先」の値である「staff03@obc…」との組を取得し、図示しない格納部等に蓄積する。
次に、本文情報取得部104は、蓄積した「本文関連情報」が、送信対象情報が有する情報の配置が必要な情報であるか否かを判断する。ここでは、「<$送信対象:」という文字列が、「本文関連情報」に含まれているか否かを判断する。取得した文字列は、「お疲れさまです。来週の経営会議で利用する資料として、<$送信対象:タイトル$>を送付しますので、ご確認をお願いします。資料の期間は、<$クエリ:期間開始日$>から<$クエリ:期間終了日$>です。…」であり、この「<$送信対象:」という文字列が1つだけ含まれているため、送信対象情報が有する情報の配置が必要であると判断する。
そして、この「<$送信対象:」と直後の「$>」で囲まれている文字列「タイトル」に応じて、送信対象情報からタイトルである「部門別損益計算書」を取得し、この「<$送信対象:タイトル$>」という文字列を、取得した文字列「部門別損益計算書」で置き換える。
また、本文情報取得部104は、蓄積した「本文関連情報」が、送信対象情報の取得に用いられたクエリが有する情報の配置が必要な情報であるか否かを判断する。ここでは、「<$クエリ:」という文字列が、「本文関連情報」に含まれているか否かを判断する。取得した文字列に、「<$クエリ:期間開始日$>」と、「<$クエリ:期間終了日$>」とが含まれているため、クエリが有する情報の配置が必要であると判断する。
そして、まず、1つめの「<$クエリ:期間開始日$>」について、「<$クエリ:」と直後の「$>」で囲まれている文字列「期間開始日」に応じた情報を、送信対象情報に対応づけられたクエリから取得する。具体的には、図4の「ID」が「002」であるレコードの「クエリ」の値から、文字列「期間開始日」に対応した情報を取得する。ここでは、例えば、「期間開始日」に対応した値として、クエリ内の「WHERE」の値のうちの、「Between」の直後の「#」で挟まれた文字列、具体的には数字列を取得することが、予め指定されていたとすると、本文情報取得部104は、クエリから、「2013/4/1」を取得する。そして、取得した文字列で、本文関連情報の「<$クエリ:期間開始日$>」という文字列を置き換える。なお、文字列は、予め指定されたフォーマット等に変換してから置き換えてもよい。例えば、「2013/4/1」を、「2013年4月1日」という文字列に置き換えてから配置してもよい。
また、本文情報取得部104は、2つめの「<$クエリ:期間終了日$>」について、「<$クエリ:」と直後の「$>」で囲まれている文字列「期間開始日」に応じた情報を、送信対象情報に対応づけられたクエリから取得する。具体的には、図4の「ID」が「002」であるレコードの「クエリ」の値から、文字列「期間開始日」に対応した情報を取得する。ここでは、例えば、「期間開始日」に対応した値として、クエリ内の「WHERE」の値のうちの、「Between」の直後の「And」の直後の「#」で挟まれた文字列、具体的には数字列を取得することが、予め指定されていたとすると、本文情報取得部104は、クエリから、「2014/3/31」を取得する。そして、取得した文字列で、本文関連情報の「<$クエリ:期間終了日$>」という文字列を置き換える。これにより、格納されている本文関連情報は、「お疲れさまです。来週の経営会議で利用する資料として、部門別損益計算書を送付しますので、ご確認をお願いします。資料の期間は、2013/4/1から2014/3/31です。…」
本文情報取得部104は、図5に示した対象メール情報管理表の「ID」が「03」よりも後の全てのレコードについても同様の処理を行う。そして、取得した本文関連情報と、送信先情報との組が、対象メール情報管理表の「ID」が「03」であるレコードから取得した組だけであったとする。ただし、ここで取得した本文関連情報の一部は、上述したように、送信対象情報が有する情報と、クエリが有する情報とで置き換えられている。
つぎに、出力部105は、送信指示が示す送信対象情報、即ちファイル名が「部門別損益管理表(4月)」である表情報と、本文情報取得部104が取得した本文関連情報と、件名と、送信先情報であるメールアドレスとを、電子メール処理部201に渡す。出力部105は、例えば、メール本文等に本文関連情報を配置し、メールの件名欄に件名を配置し、送信対象情報を添付ファイルとして添付したメールであって、宛先のメールアドレスを、送信先情報が示すメールアドレスとしたメールを作成する指示とともに、これらの情報を電子メール処理部201に渡す。
電子メール処理部201は、出力部105から受け取った情報を用いて、メール本文に本文関連情報を配置し、メールの件名欄に件名を配置し、送信対象情報を添付ファイルとして添付したメールであって、宛先のメールアドレスが、送信先情報が示すメールアドレスであるメールを作成する。そして、作成したメールを、図示しない表示部等に表示する。
図6は、電子メール処理部201が作成したメールの表示例を示す図である。
そして、ユーザが図示しない受付部等を介して、メールの送信操作等を行うことで、図6に示したメールが送信される。
以上、本実施の形態によれば、送信対象情報を特定する対象特定情報と対応づけられた本文関連情報を送信対象情報とともに出力するようにしたため、送信対象情報を電子メールで送信する際に、送信対象に応じた適切な内容の電子メールを容易に作成することができる。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態では、送信対象出力装置及び情報処理装置がスタンドアロンである場合について説明したが、送信対象出力装置及び情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態における送信対象出力装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、送信対象の情報である1以上の送信対象情報が格納される送信対象格納部と、送信対象情報を特定する情報である対象特定情報と、対象特定情報で特定される送信対象情報を送信するためのメールの本文に関する情報である本文関連情報とを有する1以上の対象メール情報が格納される対象メール情報格納部と、にアクセス可能なコンピュータを、1以上の送信対象情報を送信する指示である送信指示を受け付ける送信指示受付部と、送信指示が示す送信対象情報を特定する対象特定情報に対応づけられた本文関連情報を、対象メール情報を用いて取得する本文情報取得部と、送信指示が示す1以上の送信対象情報と、本文情報取得部が取得した本文関連情報とを出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記実施の形態における送信対象出力装置を実現するソフトウェアと、電子メール処理部を実現するソフトウェアとは、1のコンピュータで実行される2つのソフトウェアと考えてもよい。
図7は、上記プログラムを実行して、上記実施の形態による送信対象出力装置や情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図7において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図8は、コンピュータシステム900の内部構成を示す図である。図8において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による送信対象出力装置や情報処理装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による送信対象出力装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。