[[20210713154140]] 『outlook 〜本文の一部だけ他とは別のフォント設定』(ol) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『outlook 〜本文の一部だけ他とは別のフォント設定したい〜』(ol)

outlookのメール作成処理をvbaで作っております。
今回、質問したい内容は本文のフォントについてです。

本文全体のフォントの変更は実装できていますが、
本文の一部を別のフォントにしたいのです。(調べても答えが出ず、という状況です。情報少ない。)

下記にコードを記載しておりますが、
"おやすみ"の部分だけフォントサイズを"10.5"にしたい際に
どのようにすればうまくいくのか、お教えいただけないでしょうか。

(・・・※の行についてのコード理解が乏しいため苦戦しております。
「"おやすみ"の部分を選択」した状態にして、「選択したところのフォントを変える」
というコードを書けばうまくいくのかなとは思っておりますが、それをどう書けばよいのか。。。)

sub メール作成

  Dim mailObj As Outlook.MailItem
  Set mailObj = Outlook.CreateItem(olMailItem)

  With mailObj
    .Display
    .To = "アドレス1"
    .CC = "アドレス2"
    .Subject = "件名"
    .Body = "おはよう" & vbCrLf & _
            "おやすみ"

    With Outlook.ActiveInspector.WordEditor.Windows(1).Document.Range.Font  ・・・※
      .Size = 10
      .Name = "MS ゴシック"
      .NameAscii = "Arial"
    End With

    .Close olSave
  End With
end sub

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 おはようございます ^^
わたしも、あまり詳しくありませんが
【vba outlookのwordeditorってなんですか】
とかで、検索すると、簡単なサンプルで、解りやすく
解説しているサイトが、たくさんありましたですよ
拙い私の説明より、そちらを参考確認して戴いた方が
宜しいかと。。。^^;。。。
HTMLのCSSで、という方法も有りますが
最近 ↑の方が流行りらしいっす。。。← 多分。。。m(_ _)m
(隠居じーさん) 2021/07/14(水) 07:57

 ネット検索して、見よう見まねでやってみました。

 >「"おやすみ"の部分を選択」した状態にして、「選択したところのフォントを変える」

 今までの本文を以下に分割し、
 1.おやすみの前の部分
 2.おやすみの部分
 3.おやすみの後ろの部分

 いままでの本文を消してから、上の3つの部分を再度書き込む。
 その際、2つ目のとき特別な書式を適用する。

 なお、書式を設定するので、リッチテキスト形式を指定する。

 Sub メール作成()
     Dim mailObj As Outlook.MailItem
     Dim targetWord As String
     Dim str(1 To 2) As String
     Dim Pos As Long

     Set mailObj = Outlook.CreateItem(olMailItem)

     With mailObj
         .BodyFormat = olFormatRichText '=3

         .Display
         .To = "アドレス1"
         .CC = "アドレス2"
         .Subject = "件名"
         .Body = "おはよう" & vbCrLf & _
         "おやすみ"

         targetWord = "おやすみ"

         Pos = InStr(.Body, targetWord)

         If Pos > 0 Then
             str(1) = Left(.Body, Pos - 1)
             str(2) = Right(.Body, Len(.Body) - (Pos - 1 + Len(targetWord)))

             .Body = ""

             With Outlook.ActiveInspector.WordEditor.Windows(1)
                 With .Selection
                     .typetext str(1)

                     .Font.Size = 10.5
 '                    .Font.Name = "MS ゴシック"
 '                    .Font.NameAscii = "Arial"
                     .typetext targetWord

                     .typetext str(2)
                 End With
             End With
         End If

         .Close olSave
     End With
 End Sub

(半平太) 2021/07/14(水) 08:30


隠居じーさんさん
cssで実装する方法があるんですね。ちょっと興味があるので調べてみます!
情報ありがとうございます。

半平太さん
".Selection"を利用すれば、そんな書き方ができるんですね。
参考にさせていただき、無事実装ができそうです!
ありがとうございます。

WordEditorについて、理解深めようと思います。
お二方ともありがとうございました。
(ol) 2021/07/14(水) 13:41


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.