Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2016)
メール送信の際にメールソフトを指定したいです。
投稿日時: 20/11/20 11:19:50
投稿者: ぽろんちょ

いつも大変お世話になっております。
 
SendObjectを使用してoutlookからメール送信をしておりましたが、
Thunderbirdをインストール後から、outlookではなくThunderbirdが起動するようになってしまいました。
コードは下記の通りです。
 
strSubject = "データの件"
strText = "宜しくお願いします。"
 
DoCmd.SendObject acSendQuery, "Qデータ", acFormatXLS, "aaa@bbb.com", , strSubject, strText, True
 
以前のようにoutlookで起動するようにしたいです。
なおPCの規定のアプリはoutlookになっております。
プログラムで指定するのか、パソコンの設定で指定できるのか、
教えていただけると大変助かります。
宜しくお願い致します。

回答
投稿日時: 20/11/20 14:01:55
投稿者: Suzu

引用:
DoCmd.SendObject acSendQuery, "Qデータ", acFormatXLS, "aaa@bbb.com", , strSubject, strText, True
引数の位置(カンマの数)が違う様ですが、そのせいではありませんよね?
 
 
引用:
以前のようにoutlookで起動するようにしたいです。
なおPCの規定のアプリはoutlookになっております。
Outolookであれば、オートメーションにて操作できますので
 
【SendObject メソッド (Access)】
https://docs.microsoft.com/ja-jp/office/vba/api/access.docmd.sendobject
 
に、
Microsoft Outlook で電子メール メッセージを作成して、ユーザーに表示する方法を示します。
とありますので、参考にどうぞ。
 
 
 
あくまで、Docmd.SencObjet でという事であれば
Outlookの再インストールや、修復を行うのが確実とは思います。
 
レジストリ操作に自信があるなら、このあたりを参考にしてみてはどうでしょうか。
 
【Windows 10がデフォルトのメールアプリをレジストリに保存する場所】
https://www.it-swarm-ja.tech/ja/windows-registry/windows-10%E3%81%8C%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E3%83%AC%E3%82%B8%E3%82%B9%E3%83%88%E3%83%AA%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E5%A0%B4%E6%89%80/944767881/
 
【デフォルトメーラーの定義されている場所】
https://qiita.com/tetsurot2012/items/68fe7991d30384ab26a3
 
私のPCの場合ですと
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\MAILTO\UserChoice\Progid にて Mailtoのアプリケーションの 設定がなされていたようですが、
どのレジストリの値が適用されているかは、マシンや、ユーザーによって変わるので参考までに。

投稿日時: 20/11/20 17:10:24
投稿者: ぽろんちょ

Suzu様
 
早速のご返信ありがとうございます。
この後、「既定のアプリの選択」で「Microsoftが推奨する規定値にリセットする」を実施し、
既定のメールをOutlookに設定しなおしたところ、無事にOutlookからメール送信できました。
大変お忙しいところありがとうございました。