ここから本文です

【VBA】ExcelからOutlookメールを作成する際のメール本文(一部)のフォント変更に...

nt_********さん

2017/7/2617:24:13

【VBA】ExcelからOutlookメールを作成する際のメール本文(一部)のフォント変更についてExcel2010からOutlook2010の新規メールを作成したいのですが、

特定の一部分だけフォントを変更(赤・太字)する方法を教えていただけますか?

なお、本文はワークシートのセルに自由に記入させます。
(ワークシート"ws"のB2セル以降)

下の例の場合、
"◆◇◆不明点は担当者までお問合せください◆◇◆"
この部分だけのフォントを変更したいのですが。

<ソース>

y = 0

If ws.Range("B2").Offset(y, 0).Value = "" Then
Mail_Text = ""
Else
Mail_Text = ws.Range("B2").Offset(y, 0).Value & vbNewLine & ""
y = y + 1
Do While ws.Range("B2").Offset(y, 0).Value <> ""
Mail_Text = Mail_Text & ws.Range("B2").Offset(y, 0).Value & vbNewLine & ""
y = y + 1
Loop
End If

Mail_Text = Mail_Text & vbNewLine & "<送信者>" & vbNewLine & "○○株式会社" & vbNewLine & "○○部"

objMAIL.Body = Mail_Text

<ワークシート"ws">

B2:×××の件について、
B3:~~~となっています。
B4:◆◇◆不明点は担当者までお問合せください◆◇◆

よろしくお願いします。

閲覧数:
305
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

kky********さん

2017/7/2618:25:05

書かれているコードが全部でないので、修正しづらいのですが。
メール作成までの一例です。

Sub test()
Dim ws As Worksheet
Dim oApp As Object
Dim objMAIL As Object
Dim i As Long
Dim Mail_Text As String
Set ws = Worksheets("WS")
Set oApp = CreateObject("outlook.application")
Set objMAIL = oApp.CreateItem(0)
With objMAIL
.To = "atesaki"
.Subject = "件名"
.Display
With oApp.ActiveInspector.WordEditor.Windows(1)
With .Selection
For i = 2 To ws.Cells(Rows.count, "B").End(xlUp).Row
If ws.Range("B" & i).Value <> "" Then
If Left(ws.Range("B" & i).Value, 3) = "◆◇◆" Then
.Font.Color = vbRed
.Font.Bold = True
End If
.TypeText ws.Range("B" & i).Value & vbNewLine & ""
End If
Next i
.Font.Color = vbBlack
.Font.Bold = False
.TypeText "<送信者>" & vbNewLine & "○○株式会社" & vbNewLine & "○○部"
End With
End With
End With
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/7/27 14:34:44

ご回答、ありがとうございました。

とても助かりました。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる