こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AccessデータをExcelデータに変換して送信

Access2000とOutlookExpressを使用しています。
実現したいことは、
コマンドボタンをクリックするとある特定のデータがExcelに
変換されて、そのExcelファイルが自動で添付ファイルとして
特定のアドレスに送信されるようにして、
さらに、送信したExcelファイルを自動で消去したいのですが。
いかがなものでしょうか?

今現在はExcelファイルを自動で変換するところまでは
できましたが、その後がどうすれば良いのか分かりません。

以上、良いアドバイスをお願い致します。

投稿日時 - 2003-11-17 15:35:18

QNo.708019

困ってます

質問者が選んだベストアンサー

手探り状態なんですよね
テストでマクロを作成してみましょう

「マクロ新規作成」
マクロ名:test
 アクション:オブジェクトの送信
  オブジェクトの種類 :テーブル
  オブジェクト名   :(テーブル名)
  出力ファイル形式  :Microsoft Excel (*.xls)
  宛先        :(自分のメアド)
  Cc         :
  Bcc         :
  件名        :hogehoge
  メッセージ     :ほげほげ
  メッセージの編集  :はい
  テンプレートファイル :

このマクロを保存して実行します

このマクロをVBAで記述したい時は、マクロを選択して
メニューバー「ツール」→「マクロ」→「マクロをVisualBasicに変換」
で自動変換してくれます

全てVBAでやるのであれば、「BASP21.DLL」等を使用するのが...?

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html

投稿日時 - 2003-11-18 01:37:17

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

基本的にはエクセル側でマクロの保存機能などを駆使してコードを書く。
アクセス側で頭にエクセルオブジェクトを宣言して(この辺はお約束なので丸覚えで)エクセルで作ったそれを書くだけです。
なおアクセス側からエクセルの機能を使うときは、参照設定でエクセルオブジェクトにチェックを入れておく必要があります。

---ここからお約束---
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = Excel.Application
Set xlBook = xlApp.Workbooks.Open(ファイルネーム)
---ここまでお約束---

---エクセルの処理---
xlBook.SendMail Recipients:="test@test.ne.jp"
xlBook.Close (True)
---ファイルの削除---
Kill (ファイルネーム)

・多分ファイルネームのところはパスからちゃんと書かないとダメ。
・面倒なんでKillを使いましたが、本来はFileSystemObject オブジェクトを使う方が望ましいかと。

投稿日時 - 2003-11-17 16:18:05

あなたにオススメの質問