<Access97 マクロをモジュールへ変換して楽をする> /* * 1.はじめの挨拶 */ こんにちは。 今回も、芸術的なプログラムが書けない、Ken3の独り言です。 お時間のある人は、お付き合いください。 概要は、 Accessのマクロをモジュールへ変換して、 少し楽をするです。 では、またいつもの手抜き調理、聞いてください。 /* * 2.Accessのマクロをモジュールへ変換 */ 下記のような質問メールをいただきました。 (おいおい、過去の質問は、、はやくまとめてよ、、) --------------- >Access97を使用していますが、Accessで書き込んだデータをからOutlook >Expressの新規メールの内容に貼り付けるいい方法があったら教えてくださ >い。 >添付ファイルではなく、実際のメールの内容として表示し、そのまま送信が >できるようにしたいのですが。 >難しいでしょうか。 --------------- サンプルになるか、わかりませんが、 作成してみようと思います。 *サンプルファイルと画像、下記に保存されています。 あわせて見てください。 ( hosoku/040/index.html 参照 ) まず最初にAccessの機能にあるか、調べてみます(予想してみます) 私の場合は、ヘルプを見て調べるか、詳しい後輩に聞く、 マクロコマンドでないか調べてみるのパターンです。 今回、業務外のこと(メルマガの読者からの質問なので) をできる後輩に聞くことができないので、 マクロコマンドで探してみました。 マクロの新規作成を押して、アクションを探します。 おっ、オブジェクトの送信って、それっぽいのがアルジャン。 ( 参照 ) 次にパラメーター?設定値をいれます。 オブジェクトの種類とかは無視して、 宛先 ken3@******.or.jp 件名 テストです、うまくいくかなぁ? メッセージ ダメでしょたぶん に適当なテストデータを入れます。 保存後、うまく行くかマクロを実行して、 単体機能のテストを行います。 なんとか、Outlook Express の送信箱に入りました。 *Outlook97 とかが標準になっていると、そちらに入ります。 標準がOutlook Express か確認します。 ( , 参照 ) マクロが無事動いたので、これをVBA(モジュール)に変換します。 変換方法は、簡単で、 ファイル・名前を付けて保存/エクスポート を選択後、まんなかの Visual Basic モジュールを選択します。 すると、マクロがVBAに変換されます。 ( 参照 ) ( 参照 ) 次に、モジュールで変換されたマクロの中身を確認します。 下記のようなモジュールが作成されてます '------------------------------------------------------------ ' マクロ1 ' '------------------------------------------------------------ Function マクロ1() On Error GoTo マクロ1_Err DoCmd.SendObject , "", "", "ken3@******.or.jp", "", "", "テストです、うまくい くかなぁ?", "ダメでしょたぶん", False, "" マクロ1_Exit: Exit Function マクロ1_Err: MsgBox Error$ Resume マクロ1_Exit End Function ( 参照 ) ( 参照 ) これで、宛先と件名、メッセージのパラメータの位置がわかります。 *SendObjectにマウスを合わせ、F1キーを押すと、ヘルプが見れます。 あとは、現在固定値で処理している項目を変数にするなどして、 処理します。 下記、フォームから送信の例です。参考となれば、、、 '------------------------- Private Sub B_Send_Click() '送信確認 If MsgBox("メールを送信します", vbYesNo) = vbNo Then Exit Sub End If 'マクロを変換して、ただ、フォームの値を渡しただけです。 DoCmd.SendObject , "", "", Me![F_TO], "", "", Me![F_件名], Me![F_本文], False, "" '終了メッセージ MsgBox "送信箱に保存されたと思う メールソフトを開いて確認してください" 'テーブルからの場合は、テーブルを開いて、読みこんで処理してください End Sub '-------------------------- ( 参照 ) ( 参照 ) ( 参照 ) ( 参照 ) なんか、質問の回答と違うような気がするけど、いいや。。。 /* * 3.だいぶ前の宿題、、、少しはやってますよ、、、 */ だいぶ前の宿題、ですが、少しはやり始めてます。 ファイルの拡張子を一括で変更したい や サブディレクトリ付きのコピー処理をしたい などで、つかうだろう、 ファイルのリストをサブディレクトリも含めて取得を カッコつけて作っているのですが、 Dir関数が再起処理だと使えなかったりして、 汚いプログラムになってます。。。 公開できるように現在調整中です。 *サブディレクトリも含めて、 ファイル名リストを取得する関数、 ご存知のかたは、教えてください。 また、オリジナルで作られた方、自慢気に教えてください。 ファイル名の取得関係は dir関数です。 ファイル名の変更は Nameステートメント name oldname as newname で、できそうです。 自分へ一言、、かっこつけてないで、はやく公開して、 いろいろ指摘してもらったほうが、 はやいんじゃない? そのほうが、これはやっちゃいけない、 三流処理だ、、と読者の人達の反面教師になれるぞキット。 /* * 4.終わりの挨拶 */ 今回のAccess マクロをVBAに変更、、どうでしたか? えっ、そんなの知ってた、、 もっとプロらしいテクニックを書け、、、 なんて声聞こえたところで、今日も逃げるようにサヨナラです。 では、また。 三流PG Ken3でした。
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
項目別に本音?それとも建て前?的な記事をまとめました。
気になったジャンル↓を選択してください。 |
Blogとリンク:[三流君の作業日記]/ [愚痴(Bookmark)]/ [広告Blog(Bookmark)]