三流君 ken3のmemo置き場

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

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

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

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

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)