ExcelからHTMLメールを作成してタグにFontサイズを指定したけど、変わらなかった。
そんな質問に答えてみた。
teratail.com
detail.chiebukuro.yahoo.co.jp
下記、いつもの あのあの 解説動画・・・
youtu.be
https://youtu.be/vuq1fe29JU0
目次
00:00 あいさつ、やりたいこと
01:45 0.メールアイテム.GetInspector().WordEditor で 編集をWordで
02:51 2.段落なので、Pを使ってみた
05:10 3.蛇足 Wordのマクロ記録
またまた、人力検索以外のQAサイトで回答してみた・・・それを はてなブログに書くなんて・・・
0.メールアイテム.GetInspector().WordEditor で 編集をWordで
'Wordの世界へ行く?うそうそ、編集だけ
' https://docs.microsoft.com/ja-jp/office/vba/api/outlook.inspector.wordeditor
' .GetInspector().WordEditor とかで検索
Dim objDOC As Object
Set objDOC = oItem.GetInspector().WordEditor
で、
あとは、Wordの世界で、、※詳しい人に聞いてみてください・・・
1.フォントサイズを変える
Wordの世界なので、いろいろとやり方があると思いますが、
手前みその
https://ken3memo.hatenablog.com/entry/2022/03/29/233903
から
'全ての段落をテスト表示 For n = 1 To ActiveDocument.Paragraphs.Count Debug.Print n & ":" & ActiveDocument.Paragraphs(n).Range.Text Next n
これを、
For n = 1 To objDOC.Paragraphs.Count Debug.Print n & ":" & objDOC.Paragraphs(n).Range.Text 'objDOC.Paragraphs(n).Range.Select '単純に段落をセレクト状態にして※エラーになるよ 'objDOC.Selection.Font.Size = 35 '選択範囲のフォントサイズ変更 objDOC.Paragraphs(n).Range.Font.Size = 35 Next n
と
して、フォントのサイズを変更しただけでした。
2.段落なので、Pを使ってみた
質問と、関係ないのに続けるヤツ※質問者を置いてきぼりにして、自分の世界に入る
pタグを使ってみた
3.蛇足 Wordのマクロ記録
あとは、Wordの専門家に質問して、
Dim objDOC As Object
Set objDOC = oItem.GetInspector().WordEditor
で、使えばいいのかな。
簡単なのは、マクロの記録でやるといいのかなぁ。
作成したテストのコード
Option Explicit Sub outlookでHTMLメールの作成後にフォントサイズ変更() Dim ws As Worksheet Set ws = ActiveSheet 'とりあえず、アクティブシートで 'ここからQAサイトのコード Dim oApp As New Outlook.Application Dim oItem As Outlook.MailItem Set oItem = oApp.CreateItem(olMailItem) 'メールを作成します oItem.To = ws.Range("D7") '宛先を入力します oItem.CC = ws.Range("D8") 'CCを入力します oItem.Subject = ws.Range("D9") & ws.Range("B3") '件名を入力します oItem.HTMLBody = ws.Range("D10") 'ここまで oItem.Display '勝手に確認しやすいように表示 'Wordの世界へ行く?うそうそ、編集だけ ' https://docs.microsoft.com/ja-jp/office/vba/api/outlook.inspector.wordeditor ' .GetInspector().WordEditor とかで検索してください Dim objDOC As Object Set objDOC = oItem.GetInspector().WordEditor 'Stop '段落で回して、選択しながら、フォントサイズ変更 Dim n As Integer '全ての段落をテスト表示 For n = 1 To objDOC.Paragraphs.Count Debug.Print n & ":" & objDOC.Paragraphs(n).Range.Text 'objDOC.Paragraphs(n).Range.Select '単純に段落をセレクト状態にして※エラーになるよ 'objDOC.Selection.Font.Size = 35 '選択範囲のフォントサイズ変更 objDOC.Paragraphs(n).Range.Font.Size = 35 Next n End Sub
以上、あのあの そのその 脳内解説でした。