質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

Q&A

解決済

2回答

3949閲覧

VBAを使って異なったメールを複数送信する際にエラーが出ます。

putimaru

総合スコア8

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Outlook

Microsoft OutlookはMicrosoft Officeの一部として組み込まれている、のユーザー管理とメーラーの機能を持ち合わせたソフトウェアです。

0グッド

0クリップ

投稿2018/07/09 11:15

Enum 列
宛先 = 1
企業名
氏名
件名
添付ファイル1
添付ファイル2
End Enum
Sub メール作成()
Dim ol As New Outlook.Application
Dim m As mailItem

Dim MaxRow: MaxRow = Range("A1").End(xlDown).Row
For i = 2 To MaxRow
Set m = ol.CreateItemFromTemplate("c:\work\test.oft")
m.To = Cells(i, 列.宛先).Value
m.Subject = Cells(i, 列.件名).Value
m.Attachments.Add "c:\work" & Cells(i, 列.添付ファイル1).Value
m.Attachments.Add "c:\work" & Cells(i, 列.添付ファイル2).Value

m.HTMLBody = Replace(m.HTMLBody, "□□", Cells(i, 列.企業名).Value)
m.HTMLBody = Replace(m.HTMLBody, "●●", Cells(i, 列.氏名).Value)
m.SaveAs "c:\work" & Cells(i, 列.氏名).Value & ".msg"
Next i
End Sub

某サイト参考にさせて頂き実行してみました。
何度やってもコンバイルエラーと出ています。

原因が分かりません。

サイト上と同じExcelファイルを例として作成し
VBAを書いてみています。
どこに原因があるのか、わかる方いらっしゃいましたら
教えて頂きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttyp03

2018/07/10 02:59

どの行で何のエラーが出るのが詳細を書いてください。
guest

回答2

0

何度やってもコンバイルエラーと出ています。

VBAの場合、コンパイルエラーはそもそも処理として成り立っていない場合に起きるエラーです。
何度「実行」しようが、実行自体出来ないので意味がありません。

otnさんの回答にもあるようにエラーメッセージを元にコードを修正してください。
修正すべき点がわからないのであれば、具体的なエラーメッセージ、どこがハイライトされるのか、など詳細な情報を記載してください。

恐らく「某サイト」の記載通りに操作していないのが原因だと思われますが。


また、コードの前後に行を追加しバッククォート(Shift + @ で入力できる文字)を3個挿入してください(コード部を選択して<code>ボタンでも良いです)。

挿入することで以下のような表示になり、コードが見やすくなります。

vba

1Enum2 宛先 = 1 3 企業名 4 氏名 5 件名 6 添付ファイル1 7 添付ファイル2 8End Enum 9 10Sub メール作成() 11 Dim ol As New Outlook.Application 12 Dim m As mailItem 13 14 Dim MaxRow: MaxRow = Range("A1").End(xlDown).Row 15 For i = 2 To MaxRow 16 Set m = ol.CreateItemFromTemplate("c:\work\test.oft") 17 m.To = Cells(i,.宛先).Value 18 m.Subject = Cells(i,.件名).Value 19 m.Attachments.Add "c:\work\" & Cells(i,.添付ファイル1).Value 20 m.Attachments.Add "c:\work\" & Cells(i,.添付ファイル2).Value 21 22 m.HTMLBody = Replace(m.HTMLBody, "□□", Cells(i,.企業名).Value) 23 m.HTMLBody = Replace(m.HTMLBody, "●●", Cells(i,.氏名).Value) 24 m.SaveAs "c:\work\" & Cells(i,.氏名).Value & ".msg" 25 Next i 26End Sub

投稿2018/07/09 14:39

imihito

総合スコア2166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

コンパイルエラーなら、どこにどういうエラーがあるかはメッセージを見れば分かるので、それを直せば良いです。

投稿2018/07/09 12:15

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問