実現したいこと
Excel VBAから、Outlookのメールを作成する際、
改段落の行間サイズをデフォルトの「0行」にしたいです。
発生している問題・分からないこと
メールを作成し、
[書式設定]タブ → [段落] → [間隔] → [段落後] を確認すると、
普段はこれが「0行」になっているのですが、
VBA経由で作成したときだけ、「12pt」になってしまいます。
これを、VBA側の記述で「0行」にしたいです。
該当のソースコード
VBA
1Sub Trial_Mail() 2 3Dim toaddress, ccaddress, myaddress, mybelongs As String 4Dim subject, mailBody As String 5Dim outlookObj As Outlook.Application 6Dim mailItemObj As Outlook.mailItem 7Dim WEObj As Object 8Dim Para 9 10Application.ScreenUpdating = False 11 12'To宛先 13toaddress = "aaa@gmail.com" 14'件名 15subject = "件名" 16 17'メール作成 18mailBody = "<span style=""font-size:10.5pt; font-family:游ゴシック (本文のフォント - 日本語)"">" _ 19 & "本文</span>" 20 21Set outlookObj = CreateObject("Outlook.Application") 22Set mailItemObj = outlookObj.CreateItem(olMailItem) 23 24With mailItemObj 25 26 .To = toaddress 'To宛先をセット 27 .subject = subject '件名をセット 28 .HTMLBody = mailBody '本文をセット 29 30'メール表示 31 .display 32 33End With 34 35'オブジェクトの解放 36Set outlookObj = Nothing 37Set mailItemObj = Nothing 38 39End Sub 40
試したこと・調べたこと
上記の詳細・結果
Outlookの書式はWordEditor
で変更するとのことだったので、
Word VBAと見比べながら、下記コードを挿入してみましたが、
①:実行時エラー438(オブジェクトはこのプロパティまたはメソッドをサポートしていません)
②:エラーは出ないが。段落後の行間サイズに変化なし
という結果でした。
VBA
1 Set WEObj = mailItemObj.GetInspector().WordEditor 2 3 For Each Para In WEObj.Paragraphs 4 5 Para.ParagraphFormat.LineUnitAfter = 0 '① 6 Para.lineunitafter = 0 '② 7 8 Next Para
補足
特になし
0 コメント