工場にてACCESS97を使い、営業からの発注に対して納期の回答やもろもろのデータをメールにて任意のアドレスに送りたいのですが、当方VBAはまったく使えず、クエリーの使い倒しとマクロにて、結構ややこしい処理をしています。
マクロにてオブジェクトの送信で行うと、
マクロの記述内でアドレスを書きこむかあるいはブランクにしておき、送信時に送り先を入力するかしか手がないのでしょうか?
該当する営業にその人に関わるデータのみ送りたいので
営業全員におくるわけもゆかないのです。
VBを使うしか手がないのでしょうか?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
・・・。
VBA出来ないとムズイもしくは、遅いかも。VBAで書けば?
今やってるオブジェクトの送信は下記のVBAを使ってます。
DoCmd.SendObject acSendTable, "書き出しテーブル名", acFormatXLS,TO(宛先), CC, BCC, "件名", "本文"
でっ問題の任意のアドレスってヤツだが一番簡単な方法で、、、
テーブル→新規作成→デザイン→フィールド名(Mail:テキスト型)
(送信:Yes/NO型)を作成して適当に2~3件入力しといてくれ!
テーブル保存名は、[メアドマスタ]で保存。
※その後、サブフォームを作って開けるようにすればなお可。
フォーム→新規作成→デザイン→コマンドボタン追加
→コマンド右クリック→プロパティ→クリック時→...
(3点リーダー)→【↓をコピペ】でボタン押してみ!
Dim dbo As DAO.Database 'DAO使用時のお決り文句
Dim rst As DAO.Recordset 'DAO使用時のお決り文句
Dim sSqlStr As String 'SQL文
Dim sTO As String 'sTO = "宛先のアドレス入れ。"
Dim sCC As String 'sCC = "カーボン・コピー"
Dim sBCC As String 'sBCC = "目隠しのCCだっけ?"
'「メアドマスタ」テーブルのチェックが付いている物だけを抽出。
sSqlStr = "SELECT mail FROM メアドマスタ WHERE (送信=True)"
Set dbo = CurrentDb
Set rst = dbo.OpenRecordset(sSqlStr)
Do Until rst.EOF
If sTO = "" Then
sTO = Trim(rst.Fields("mail"))
Else
sTO = sTO & ";" & Trim(rst.Fields("mail"))
End If
rst.MoveNext
Loop
rst.Close
dbo.Close
'↑【sTO】変数の中に【my@my.com;you@you.com;who@who.com】って
'感じに文字を当てはめる作業をしている。
'ちなみにCCやBCCもチョットソース変えれば使えるよん。sTO → sCCに変えたりとか。
DoCmd.SendObject acSendTable, "メアドマスタ", acFormatXLS, "'" & sTO & "'", "", "", "件名", "本文"
'ソースが汚いのは素人だから許せ!
No.3
- 回答日時:
>VBA(VB)を基礎から分かりやすく解説しているような
お勧めの書籍には何がありますか。
私がVBを習得したのがもう5~6年前になるので、今となっては、どれが良かったのか、よく覚えていません。(お役に立てなくて申し訳無いです)
ただ、VB等の言語を学習するときには、同じような内容の本が2~3冊程度は必要だと思います。
同じ事柄についてかかれている部分でも、本によって考え方やとらえ方が違ってたりしますし、何よりもサンプルプログラムの量が増えるのがいいです。
同じ動作をするプログラムを見比べながら学習すると、一つだけの場合に比べ、かなり学習効率が高くなるんですよね。
>といってすべてシステム会社にお願いする予算もない
というありさまです
今回の場合のように、機能1個だけ、という場合には、それほど料金はかからないと思いますよ。
請け負う会社にもよりますが、数千円から数万円程度で、お使いのシステムに機能を組み込んでくれると思います。
タウンページなどで、お近くのソフトウェア開発会社を検索し、問い合わせてみられたらいかがでしょうか。
それ以外の方法としては、Accessを教えてくれるパソコン教室に入学して、「授業」と称して先生に無理やり作ってもらうってのも有りなんじゃないでしょうか(笑)。
↓インターネット上の「タウンページ」です。
参考URL:http://itp.ne.jp/servlet/jp.ne.itp.sear.SCMSVTop
No.2
- 回答日時:
回答ではありません。
点数の入れ方は、至って簡単で、質問者の方が、
「回答する・回答を締め切る」というリンクを
クリックすれば、点数を入れられるページに
いくので、そこで、選択すればOKです。
ちなみに、そこのところは、ヘルプに書かれて
いるので、参考にしてください。
ではでは☆
参考URL:http://www.okweb.ne.jp/help.php3
No.1
- 回答日時:
真剣に取り組んだわけではないので、確かな答えではありませんが、多分、できません。
マクロで使える機能のほとんどはVBAからも扱えるので、ここは一つVBAに取り組まれてはいかがでしょうか。
ちなみに、「オブジェクトの送信」と同等の機能は、
DoCmd.SendObject
ですね。
ヘルプでDoCmdの項目をごらんになれば、マクロで使えるほとんどの機能が、DoCmd.XXX と記述するだけで使えることが分かると思います。
Accessを思い通りに使うためには、VBAの記述は避けては通れないことですので、今後ともAccessを使っていくんであれば、さわりの部分だけでも覚えておけばいいんじゃないでしょうか。
ちょっと作ってみましょうか。(どうせヒマですし)
「宛先一覧クエリー」(フィールド名"e-mail")の全員に、「送信内容クエリー」で抽出されたデータを送りたい時は、下記のようにします。
Sub SendMail()
Dim AtesakiRST As Recordset
Dim AtesakiStr As String
Dim MailAddress As String
On Error GoTo HandleErr
'宛先の一覧を、コンマ区切りで生成する
'宛先の一覧を取得
Set AtesakiRST = CurrentDb.OpenRecordset("宛先一覧クエリー")
Do Until AtesakiRST.EOF
MailAddress = Nz(AtesakiRST![e-mail], "")
If MailAddress <> "" Then
'コンマ区切で、文字列を生成
AtesakiStr = AtesakiStr & "," & MailAddress
End If
AtesakiRST.MoveNext
Loop
'先頭のコンマを削除
If Left$(AtesakiStr, 1) = "," Then
AtesakiStr = Right(AtesakiStr, Len(AtesakiStr) - 1)
End If
'メッセージの送信
DoCmd.SendObject acSendQuery, "送信内容クエリー", acFormatXLS, , , AtesakiStr, "題名", "メッセージ"
'終了
ExitHere:
Exit Sub
'エラー処理
HandleErr:
MsgBox "エラー発生!!" & vbNewLine & Err.Description
Resume ExitHere
End Sub
5分で作って5分でバグ取りしただけのものなんで、「ちゃんと使える」かどうかは疑問ですが、まぁ、参考程度にはなると思います。
(ちなみに著作権うんぬんは主張しません。勝手に使ってくださって結構です。)
早速のご回答有難うございます。
お書き頂いたVBAの記述なんとなく、ほんの少し
わかるような気がします。
当方、中堅製造メーカーで現場のあわただしさの中で
夜まではほとんど静かにプログラムをかじれるような環境ではなく、おまけに年齢的に頭もなかなか回らなくなりVBA(VB)にはずっと踏み込む勇気がない状態です。
かといってすべてシステム会社にお願いする予算もない
というありさまです。
VBA(VB)を基礎から分かりやすく解説しているような
お勧めの書籍には何がありますか。
本屋には余りにも多すぎて選択が困難です。
今から約20年前ですけどBASIC、FORTRANは学生時代に
かじりました。
しかし、その後はまったく空白です。
脳みそもかなり腐ってきていると感じていますが、、
そういう人間向けの書籍がありましたら宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
アクセスVBAでメールを送信(複数宛先・添付)
その他(パソコン・スマホ・電化製品)
-
Access VBAでメール自動送信
Access(アクセス)
-
MS ACCESSを利用して複数へのメール送信
Access(アクセス)
-
-
4
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
6
AccessよりOutlook以外でメール送信したい
Access(アクセス)
-
7
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
8
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
9
Accessでメール一括送信ソフトを作りたい
その他(プログラミング・Web制作)
-
10
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
11
ACCESSからメール送信
その他(データベース)
-
12
Microsoft Access 「Form」のボタンの標題を別テーブルから…
Access(アクセス)
-
13
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
14
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
15
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
16
ACCESSレポートをPDFに出力したい
その他(OS)
-
17
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
18
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
19
accessについて
Access(アクセス)
-
20
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールの宛先の「リソース」とは
-
Outlook2019の宛先表示について
-
宛先の順番が入れ替わってしまう。
-
ACCESS2010 レポートを分割しP...
-
Outlook で宛先が複数の場合の人数
-
Outlookで[全員に返信]をクリッ...
-
Wordの差し込み印刷でのフィル...
-
CCを日本語で言うと?
-
宛先とCCの違いは何でしょうか。
-
アンダーバーが表示されない
-
宛先の名前の後に「、」がつく
-
宛先が、recipients not specif...
-
BCCは絶対わからないですか?
-
メールの送り方が分かりません...
-
不等号について
-
ACCESS2000のレポートのコント...
-
宛先・cc・Bccをグループ化し...
-
Outlookで自分(Outlookのメルア...
-
新規作成メールを送ることので...
-
「Thunderbirdメール」の送信文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メールの宛先の「リソース」とは
-
CCを日本語で言うと?
-
Outlook2019の宛先表示について
-
宛先が、recipients not specif...
-
Outlookで[全員に返信]をクリッ...
-
Outlook で宛先が複数の場合の人数
-
宛先の名前の後に「、」がつく
-
アンダーバーが表示されない
-
宛先の順番が入れ替わってしまう。
-
宛先とCCの違いは何でしょうか。
-
ACCESS2010 レポートを分割しP...
-
ACCESS2000のレポートのコント...
-
Wordの差し込み印刷でのフィル...
-
Outlookで自分(Outlookのメルア...
-
宛先・cc・Bccをグループ化し...
-
BCCで送信、宛先は空欄
-
迷惑メールの遮断法
-
VBAです。OUTLOOKでウンドウを選択
-
OUTLOOKの宛先の自動候補の削除
-
差出人と宛先が同じメールって?
おすすめ情報