
vbaを使用しメールを送信しようとしております。
以下に記載のように設定をしておりますが、2点設定の方法がわかりかねております。
大変お手数ですが、ご教示いただければ幸いです。
(1)宛先を複数設定したい場合はどのように設定すればよろしいでしょうか。
別々に送るのではなく、宛先にアドレス1、アドレス2を設定し1通のメールで送信をしたいです。
(2)添付ファイルを複数添付したいのですが、宛先によって添付ファイルの数が異なります。
たとえば、宛先Aには添付ファイルが1,2があるが、Bには添付ファイル1のみであり添付ファイル2フィール付度はNULLです。
この場合、エラーになってしまうのですが、"添付ファイルフィールドがnullでも無視してそのまま送信する"と設定はできるのでしょうか。
---------------------------------------
テーブル名:テーブル1
フィールド:アドレス1、アドレス2、件名、本文、添付ファイル1、添付ファイル2
---------------------------------------
Sub SAMPLE_0216()
Dim db As DAO.Database
Dim R1 As Recordset
Dim AP As Object
Dim ML As Object
Dim L1 As String
Set db = CurrentDb
Set R1 = db.OpenRecordset("テーブル1")
Set AP = CreateObject("Outlook.Application")
R1.MoveFirst
Do Until R1.EOF
'メールを作成
Set ML = AP.createitem(0)
'アドレスをセット
ML.To = R1!アドレス1
'件名をセット
ML.Subject = R1!件名
'本文をセット
ML.Body = R1!本文
'ファイルを添付1
L1 = R1!添付ファイル1
ML.Attachments.Add L1
'ファイルを添付2
L1 = R1!添付ファイル2
ML.Attachments.Add L1
'メールを送信
ML.Send
R1.MoveNext
Loop
End Sub
-----------------------------------------
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Accessはわからないのですが、ExcelからのOutlookの操作と基本は同じはずなので一部推定を交えて答えさせていただきます。
まず宛先ですが、";"(セミコロン)で区切れば複数設定できます。
Access VBA の書き方ですが、
ML.To = R1!アドレス1 & ";" & R1!アドレス2
でよさそうに思えるのですがいかがでしょうか。
宛先が1つの場合でも、アドレス1かアドレス2のうち宛先の入っていない方が空文字列(長さ0の文字列)であればこのままで大丈夫なはずです。
次に添付ファイルですが、Nullを無視してそのまま送信可能かどうかはわからないのですが、Nullなら添付しないようにすれば話は簡単だと思います。
Access VBA の書き方ですが、たぶん以下のようなものでいいと思います。
'ファイルを添付1
IF IsNull(R1!添付ファイル1) = False Then
L1 = R1!添付ファイル1
ML.Attachments.Add L1
End If
'ファイルを添付2
IF IsNull(R1!添付ファイル2) = False Then
L1 = R1!添付ファイル2
ML.Attachments.Add L1
End If
(フィールドがNullかどうかの判定は参考URLのページをまねてみたのですがこれでいいでしょうか?)
http://oshiete.goo.ne.jp/qa/1223220.html
参考URL:http://oshiete.goo.ne.jp/qa/1223220.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
MS ACCESSを利用して複数へのメール送信
Access(アクセス)
-
ACCESSで自動でメールをおくる時に任意のアドレスに送りたい
Access(アクセス)
-
Accessでメール一括送信ソフトを作りたい
その他(プログラミング・Web制作)
-
-
4
Access VBAでメール自動送信
Access(アクセス)
-
5
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
6
VBAでメール作成(選択した複数の宛先へのメール作成) ExcelのVBAを使用してOutlookの
Excel(エクセル)
-
7
ACCESSから、メール送信を行いたいです
Access(アクセス)
-
8
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
9
Access2010 メール送信が出来ない
PowerPoint(パワーポイント)
-
10
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
11
Basp21のメール送信機能を win10(64bit) Excel2019で使用する方法
Excel(エクセル)
-
12
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
13
Returnに対するGoSubがありません
Access(アクセス)
-
14
アクセスでエクセルに出力する際のファイル名を日付に
その他(Microsoft Office)
-
15
ACCESS2010のVBAでフォーム内クエリのフィールド値を取得したい
Visual Basic(VBA)
-
16
VBAのフォント変更(エクセルからoutlookのメール作成において)
Visual Basic(VBA)
-
17
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
18
Access VBA を利用して、フォルダ内のファイルの名称を変更したい
Access(アクセス)
-
19
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
20
EXCELマクロで複数のEMAIL宛先を指定
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポータブル電源
-
【延長コンセント】世界一、日...
-
【至急お願いします】 スマホに...
-
パソコン関係の質問のできるサ...
-
こちらのテレビを買ったのです...
-
メルカリで有線のイヤホンを買...
-
モバイルバッテリーを買った方...
-
ミニパソコンについて
-
貴方ならどのポケットラジオを...
-
VAIOについて_No.2
-
入力装置に関しての質問
-
こちらのテレビを買ったのです...
-
Windows10のサポートもうすぐ終...
-
Safari内のカメラをアウトカメ...
-
VAIOについて_No.1
-
モバイルバッテリーが熱すぎる
-
このアイテム
-
USBーcの太さについて
-
はつり機は電気式と2サイクルエ...
-
パソコン壊れ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
モバイルバッテリーを買った方...
-
貴方ならどのポケットラジオを...
-
入力装置に関しての質問
-
メルカリで有線のイヤホンを買...
-
モバイルバッテリーが熱すぎる
-
panasonic cF- N10 にWindows ...
-
このアイテム
-
工場扇の異常、異音について
-
Safari内のカメラをアウトカメ...
-
パソコン壊れ
-
パソコンの更新
-
こちらの商品や業者は怪しくな...
-
Netflix等のネット動画サービス...
-
USBーcの太さについて
-
進学時に必要なPCについて質問...
-
DAT130 DC-AC車載コンバーター(...
-
【至急お願いします】 スマホに...
-
VAIOについて_No.1
-
マイクがまともなワイヤレスイ...
-
VAIOについて_No.2
おすすめ情報