February 06, 2022

Excel VBAで既定のメールアプリでメールを作成する方法

220206-VbaMail
Excel VBAでチェック入れたアドレスに対して自動でメールを作成するツールを作っていた。
それはOutlook.Applicationを使っていたのでOutlook専用のモノ。

で、Thunderbirdをお試しで使っていたらこのツールが使えない事に気付く。
あれ?既定のメールアプリに対しては使えない?ググってもOutlook用のサンプルばかり。
と言う事で既定のメールアプリ用のコードを書いてみました。

方法としてはExcel関数のHyperlinkをVBAで呼んでHTMLで使用されているmailtoを使う。



サンプルはコチラ。

----------------------------------------------------------------------
Sub Sub_MakeMailDefaultApp()
    Dim strCode     As String
    Dim strTo       As String
    Dim strCC       As String
    Dim strBCC      As String
    Dim strSubject  As String
    Dim strBody     As String
    
    strTo = "test1@sample.com,test2@sample.com"
    strCC = "test3cc@sample.com"
    strBCC = "test4bcc@sample.com,test5bcc@sample.com"
    strSubject = "<タイトル>"
    strBody = "<本文>"
    
    '宛先、タイトル、本文をセット
    strCode = "mailto:" & strTo & "?subject=" & strSubject & "&body=" & strBody
    
    'CCがある時
    If strCC <> "" Then
        strCode = strCode & "&cc=" & strCC
    End If
    
    'BCCがある時
    If strBCC <> "" Then
        strCode = strCode & "&bcc=" & strBCC
    End If
    
    'メール作成
    Call ThisWorkbook.FollowHyperlink(Address:=strCode)

End Sub
----------------------------------------------------------------------

行けそうです。
本文等にスペースや改行を入れる場合はコードに置換する必要がある。
改行は「%0D%0A」、空白は「%20」のようです。




    このエントリーをはてなブックマークに追加 mixiチェック

コメントする

名前
 
  絵文字
 
 
Counter
  • 今日:
  • 昨日:
  • 累計:

Counter

    Archives
    Categories
    記事検索
    QR Code
    QRコード
    ギャラリー
    • Disney+の4K、Dolby Atmos再生でバタバタしたのでまとめておく
    • 車載タブレットホルダーを買ってみた
    • 車載タブレットホルダーを買ってみた
    • 車載タブレットホルダーを買ってみた
    • 車載タブレットホルダーを買ってみた
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    • 京都 2022/4/29〜5/1
    GEMS RSS
    Recent Comments
    楽天
    楽天で探す
    楽天市場
    • ライブドアブログ