[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『メール送信』(sato)
宜しくお願いします。
下記にてメール送信をしておりますが、サーバーがあり各作業者にエクセルを
配布して使用しております。各PCのOS違いから配布する都度にMicrosoft Outlook XX.0 Object Libraryを参照設定を行っております。参照設定しない方法をネットで調べておりますが、分からず教えて下さい。
下記は現在こコードです。
Dim outlookObj As Outlook.Application
Dim mailItemObj As Outlook.MailItem Dim attached As String Dim myattachments As Outlook.Attachments Dim msg As String
msg = "テストです。"
Set outlookObj = CreateObject("Outlook.Application") Set mailItemObj = outlookObj.CreateItem(olMailItem) With mailItemObj .BodyFormat = 2 'htmlテキストに変更 .To = Range("b2").Value 'to宛先をセット .subject = "テスト送信" '件名をセット .Body = msg 'メール本文 End With
Set myattachments = mailItemObj.Attachments attached = ThisWorkbook.Path & "\フォルダ" & "\リスト.xlsx" '添付ファイル myattachments.Add attached
mailItemObj.Display 'メール表示のみ
Set outlookObj = Nothing: Set mailItemObj = Nothing
< 使用 Excel:Excel2016、使用 OS:Windows10 >
1)Dimでオブジェクトを宣言するときは、Object型に変更する。
2)Setや宣言で New ○○は使用せずに、Object型に合わせた書き方をする
3)定数を値にかえる
1、2の参照設定を使用しない場合の宣言は、以下のサイトに記述があります。
https://tonari-it.com/vba-outlook-object/
3の定数については、とりあえず参照設定を外して、上記1・2を修正した状態でマクロを実行した場合、定数があるとその行でエラーになってくれるので、あとはそのエラーが出た行の定数を値に置き換えます。
なお、参照設定を外すとそのライブラリに対するコード入力時の補助機能(例えば、「.」を入力するとメソッドやプロパティの一覧が表示されるなど)は使えなくなりますのでご注意ください。
私は、上記で対応できていますが、そこまで詳しいわけではないので、もっと詳しい方がもっといい方法を伝授してくれるかもしれません。
ご参考まで。
(う) 2019/06/07(金) 12:01
(もこな2) 2019/06/07(金) 12:10
大変助かりました。感謝です。
(sato) 2019/06/07(金) 15:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.