土曜の昼、学校帰りの昼メシの思い出

エクセルからマクロを使用し「OUTLOOK」を立ち上げ、メール宛先、件名、本文が自動で入力起動出来るようにはなりました。本文のフォントサイズ、スタイル等変更したいのですがどうすれば良いでしょうか?

今の状態でマクロを実行すると、outlook本文は「メイリオ」の「12pt」になります。
これを「MS Pゴシック」の「11pt」にするには下記マクロをどのように書き換えればよろしいでしょうか?よろしくお願いします。

―ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Dim objOutlook As Object

Sub ●メール作成()
Dim tbl As Range

If Range("A1") <> "No." Then
MsgBox "【宛名】シートからアドイン→メール作成を押してください"
Exit Sub
End If

On Error GoTo myError
msgRow = Sheets("メッセージ").Cells(Rows.Count, 1).End(xlUp).Row
Set tbl = Sheets("メッセージ").Range("A2:E" & msgRow)

Set objOutlook = CreateObject("outlook.Application")

lstRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lstRow
If Range("G" & i) <> "" Then
With WorksheetFunction
aSubject = .VLookup(Range("G" & i), tbl, 2, False)
aBody = Range("F" & i) & vbCrLf & vbCrLf & .VLookup(Range("G" & i), tbl, 3, False) & vbCrLf & .VLookup(Range("G" & i), tbl, 4, False)
anAttachment = .VLookup(Range("G" & i), tbl, 5, False)
MakeMail Range("C" & i), Range("D" & i), Range("E" & i), aSubject, aBody, anAttachment
End With
End If
Next
Columns(7).Copy
Columns(9).Insert
Application.CutCopyMode = False
Range("I1") = Date
Exit Sub

myError:
If Err.Number = -2147024894 Then
MsgBox "添付ファイルのパスを見直してください", vbExclamation
Else
MsgBox "該当するメッセージが見つかりません。", vbExclamation
End If
End Sub

Sub MakeMail(aTo, aCc, aBcc, aSubject, aBody, anAttachment)
Set objMail = objOutlook.CreateItem(0)
objMail.To = aTo
objMail.Cc = aCc
objMail.Bcc = aBcc
objMail.Subject = aSubject
objMail.Body = aBody
If anAttachment <> "" Then
buf = Split(anAttachment, vbLf)
For i = 0 To UBound(buf)
If Len(buf(i)) > 0 Then
objMail.Attachments.Add buf(i)
End If
Next i
End If
'objMail.BodyFormat = 2
objMail.Display
End Sub

A 回答 (1件)

こんにちは



VBAからOutLookを操作したことがないので、検索してみただけですが…

通常、プレーンテキストのメールでは、内容は文章のみになるので、フォントや文字サイズの情報はメール自体に含まれないはずです。
(操作側の見た目は、ソフトのデフォルト表示設定に依存。)

フォントや文字サイズの情報をメールに含ませたいのであれば、HTML形式かリッチテキストで作成するしかないように思います。
(ご提示のコードにも、その形跡らしきものがコメントアウトされていますが…)

検索してみただけですが、リッチテキスト形式で直接設定するのはなかなか難しいみたいですね。

とりあえず、
◇HTML形式の場合(目次の6を参照)
http://www.fastclassinfo.com/entry/vba_outlook_s …

◇リッチテキスト形式の場合(結局、後で形式変換しているようです)
http://officevba.info/richtextmailpreparation/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A