三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:「こんな感じ」や「あの、あの」と活舌の悪い、
三流プログラマーのオッサンです

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。

Excel HTMLメール作成 GetInspector().WordEditorでWordオブジェクトを編集 デバッグ


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

以上、あのあの そのその 脳内解説でした。


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

当ブログではGoogle AdSenseおよび各種アフィリエイトプログラムを利用して広告を配信しています。


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~