• ベストアンサー

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

Access2000とOutlookExpressを使用しています。 実現したいことは、 コマンドボタンをクリックするとある特定のデータがExcelに 変換されて、そのExcelファイルが自動で添付ファイルとして 特定のアドレスに送信されるようにして、 さらに、送信したExcelファイルを自動で消去したいのですが。 いかがなものでしょうか? 今現在はExcelファイルを自動で変換するところまでは できましたが、その後がどうすれば良いのか分かりません。 以上、良いアドバイスをお願い致します。

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

  • ベストアンサー
回答No.2

手探り状態なんですよね テストでマクロを作成してみましょう 「マクロ新規作成」 マクロ名:test  アクション:オブジェクトの送信   オブジェクトの種類 :テーブル   オブジェクト名   :(テーブル名)   出力ファイル形式  :Microsoft Excel (*.xls)   宛先        :(自分のメアド)   Cc         :   Bcc         :   件名        :hogehoge   メッセージ     :ほげほげ   メッセージの編集  :はい   テンプレートファイル : このマクロを保存して実行します このマクロをVBAで記述したい時は、マクロを選択して メニューバー「ツール」→「マクロ」→「マクロをVisualBasicに変換」 で自動変換してくれます 全てVBAでやるのであれば、「BASP21.DLL」等を使用するのが...?

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

その他の回答 (1)

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.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 オブジェクトを使う方が望ましいかと。

関連するQ&A