Access 97のグラフウィザードでフォーム上に表示したグラフを電子メールで送信する方法を紹介します。このテクニックを利用すれば、商品区分別売上高を定期的に上司に電子メールで送信することができます。
- Access97のサンプルデータベース(Northwind.mdb)を開きます。通常このサンプルデータベースは、C:\Program
Files\Microsoft Office\Office\Samplesに格納されています。
- データベースウインドウのフォームタブをクリックして新規作成のボタンをクリックします。
- フォームの新規作成ダイアログが表示されたら、基になるテーブル/クエリーの選択に1995年 商品区分別売上高を選択します。リストボックスの一覧からグラフウイザードを選択してOKボタンをクリックします。以降、グラフウイザードの指示に従ってグラフを表示するフォームを作成します。
 |
| 図1 フォームの新規作成ダイアログ |
- フォーム上に作成されたグラフのオブジェクトを選択してコントロール名(Name)をoleGraphに書き換えます。
- フォームフッターにグラフを電子メールで送信するためのコマンドボタン(Email Graph)を作成します。
- コマンドボタンのコントロール名をcmdEmailGraphに書き換えます。
 |
| 図2 グラフウイザードで作成したフォーム |
- コマンドボタンのクリックエベントにイベント処理のコードをコピー&ペーストします。
- ツールメニューから参照設定をクリックしてMyLib.mdaを登録します。(詳細は、
ライブラリーデータベースの組み込みを参照してください)
- フォームをビューモードに切り替えたらコマンドボタン(Email
Graph)をクリックします。
- Outlook97を起動して、ツールメニューから送受信をクリックします。
- 電子メールが送受信されます。
|
コマンドボタン(Email Graph)のクリックイベント処理:
Private Sub cmdEmailGraph_Click()
Dim objGraph As Object
Dim strFileName As String
Set objGraph = Me.oleGraph.Object
strFileName = AppPath_FS() & "Graph.jpg"
objGraph.Export FileName:=strFileName
OpenOutlook_FS
SendtoOutlook_FS strTo:="fs21@ceres.ocn.ne.jp", _
strSubject:="Graph Info " & Format(Now(), "yyyy/mm/dd hh:mm"), _
strBody:="Access97/Outlook Automation", _
strAttachmentPath:=strFileName
CloseOutlook_FS
Set objGraph = Nothing
MsgBox strFileName & " has been E-Mailed", _
vbInformation + vbOKOnly
End Sub
|
AppPath_FS()関数は、現在オープンされているデータベースのパス名を返します。例えば、Nothwind.mdbがC:\Tempのフォルダにあるときは、C:\Temp\が返されます。フォーム上に表示されたグラフは、データベースと同じフォルダにGraph.jpgの名称で保存されます。
コマンドボタンをクリックしてグラフを送信する前にメールアドレスをご自分のアドレスに変更してください。