工場にて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で質問しましょう!
似たような質問が見つかりました
- Gmail Googleメールを2つ持ってます 1つ目はメインに使っており もう一つも結構な頻度で使用してます。 1 2023/04/26 16:03
- Gmail 会社のメルアドから個人のGmailアドレスに送ったら、「このメールにはご注意ください」と警告が出た 2 2022/05/26 15:12
- Gmail gmailで独自ドメインアドレスのメールが届かない件 1 2023/08/25 23:24
- ドメイン・サーバー・クラウドサービス ドメイン登録 1 2022/12/24 12:09
- Wi-Fi・無線LAN 自分のノートパソコンにいつも通りのパスワードを入力してもエラーが表示されてパソコンが一切利用出来なく 5 2022/10/01 12:42
- その他(メールソフト・メールサービス) Outlookで送信したGmail宛てのメールが届かないときの対処法 1 2023/04/19 16:59
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Gmail メーラーのThunderbirdの送信機能に関する質問です 3 2022/07/10 10:58
- Outlook(アウトルック) Outlookでメールを設定したら、設定済み?? 2 2022/09/24 13:25
- 事務・総務 営業事務、契約外のお仕事? 5 2022/06/18 22:19
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
アクセスVBAでメールを送信(複数宛先・添付)
その他(パソコン・スマホ・電化製品)
-
MS ACCESSを利用して複数へのメール送信
Access(アクセス)
-
Access VBAでメール自動送信
Access(アクセス)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
6
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
7
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
8
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
9
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
10
MS Access からメールを送るには
その他(データベース)
-
11
AccessよりOutlook以外でメール送信したい
Access(アクセス)
-
12
Accessでメール一括送信ソフトを作りたい
その他(プログラミング・Web制作)
-
13
テキストボックスに入れた内容をAccessのテーブルに登録する方法を教えてください。
Visual Basic(VBA)
-
14
Accessで請求書に印鑑をおしたい。
Access(アクセス)
-
15
ACCESSから、メール送信を行いたいです
Access(アクセス)
-
16
access マクロでのフィルタの解除の方法
Access(アクセス)
-
17
Access2010マクロ メッセージボックスの改行
その他(Microsoft Office)
-
18
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
19
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
20
access・カウント結果がゼロでも、「0」を表示させるには?
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールの宛先の「リソース」とは
-
宛先が、recipients not specif...
-
ACCESS2000のレポートのコント...
-
ACCESSで自動でメールをおくる...
-
宛先とCCの違いは何でしょうか。
-
アンダーバーが表示されない
-
NTT docomoからのハガキで、住...
-
迷惑メールの遮断法
-
Becky!で新規メールを作ると宛...
-
Outlook Express から、1000名...
-
BCCで送信、宛先は空欄
-
ACCESS2010 レポートを分割しP...
-
差出人と宛先が同じメールって?
-
宛先の名前の後に「、」がつく
-
VBAです。OUTLOOKでウンドウを選択
-
この問題考えても分かんないん...
-
宛先の順番が入れ替わってしまう。
-
OutlookでヘッダーにBCCのみ表...
-
BCCで送ると誰に送ったのか...
-
宛先・cc・Bccをグループ化し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メールの宛先の「リソース」とは
-
宛先が、recipients not specif...
-
Outlookで[全員に返信]をクリッ...
-
CCを日本語で言うと?
-
Outlook2019の宛先表示について
-
Wordの差し込み印刷でのフィル...
-
アンダーバーが表示されない
-
ACCESS2000のレポートのコント...
-
迷惑メールの遮断法
-
宛先とCCの違いは何でしょうか。
-
宛先の順番が入れ替わってしまう。
-
ACCESS2010 レポートを分割しP...
-
宛先・cc・Bccをグループ化し...
-
Outlookで自分(Outlookのメルア...
-
宛先の名前の後に「、」がつく
-
BCCで送信、宛先は空欄
-
Outlook で宛先が複数の場合の人数
-
BCCで送ると誰に送ったのか...
-
ACCESSで自動でメールをおくる...
-
VBAです。OUTLOOKでウンドウを選択
おすすめ情報