プロが教える店舗&オフィスのセキュリティ対策術

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

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

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

A 回答 (2件)

手探り状態なんですよね


テストでマクロを作成してみましょう

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

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

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

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

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

基本的にはエクセル側でマクロの保存機能などを駆使してコードを書く。


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

---ここからお約束---
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 オブジェクトを使う方が望ましいかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!