特定のワークシートでVBAボタンが押されたときに生成および電子メールで送信するVBAスクリプトがあります。
スクリプトは現在、比較的小さなフォントで電子メールを生成します。フォントをCalibriに設定し、テキストを正確に11に設定する方法があるかどうか疑問に思っていました。
現在のVBAスクリプトは次のとおりです。
Private Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim strUser As String
Dim signature As String
Dim sTo As String
Dim sCC As String
'For To field
Set emailRng = Worksheets("Send Email").Range("D3:I6")
For Each cl In emailRng
sTo = sTo & ";" & cl.Value
Next
sTo = Mid(sTo, 2)
'For CC field
Set emailRngCC = Worksheets("Send Email").Range("D8:I11")
For Each cl In emailRngCC
sCC = sCC & ";" & cl.Value
Next
sCC = Mid(sCC, 2)
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.Display
End With
signature = OutMail.HTMLBody
strbody = "<FONT SIZE = 3>Good Morning;<p>We have completed our main aliasing process for today. All assigned firms are complete. Please feel free to respond with any questions.<p>Thank you."
With OutMail
.SentOnBehalfOfName = ""
.To = sTo
.CC = sCC
.BCC = ""
.Subject = "Data Morning Alias Process - COMPLETE"
.HTMLBody = strbody & signature
.Display
End With
End Sub
私はコードのこの部分を知っています:
strbody = "<FONT SIZE = 3.5>Good Morning;<p>We have completed our main aliasing
メール本文のテキストサイズに関連する部分です。ただし、3の設定は小さく、4の設定は大きすぎます。それで、フォントを正確にサイズ11に設定し、テキストをCalibriとしてフォーマットする方法があるのではないかと思っていました。
ありがとうございました!
私は少し調べて、このコードを書くことができました。
strbody = "<BODY style=font-size:11pt;font-family:Calibri>Good Morning;<p>We have completed our main aliasing process for today. All assigned firms are complete. Please feel free to respond with any questions.<p>Thank you.</BODY>"
明らかに"font-size=11pt"
フォントサイズを設定する代わりに<font size=5>
、これは、私のコードが元々持っていたように1-7から値を選択するのとは対照的に、テキストエディタで通常するように特定のフォントサイズを選択することを可能にします。
このlinksimpLE MAnからいくつかの良い情報が得られました。
参考までに、私も少し調査を行い、適用したいフォントファミリの名前がスペースを含む(例としてGill Alt One MT Light)、このように書く必要があります:
strbody= "<BODY style=" & Chr(34) & "font-family:Gill Alt One MT Light" & Chr(34) & ">" & YOUR_TEXT & "</BODY>"
さまざまなサイズとスタイルのテキストを設定し、セルのテキストのサイズとスタイルを設定します(範囲付き)
Sub EmailManuellAbsenden()
Dim ghApp As Object
Dim ghOldBody As String
Dim ghNewBody As String
Set ghApp = CreateObject("Outlook.Application")
With ghApp.CreateItem(0)
.To = Range("B2")
.CC = Range("B3")
.Subject = Range("B4")
.GetInspector.Display
ghOldBody = .htmlBody
ghNewBody = "<font style=""font-family: Calibri; font-size: 11pt;""/font>" & _
"<font style=""font-family: Arial; font-size: 14pt;"">Arial Text 14</font>" & _
Range("B5") & "<br>" & _
Range("B6") & "<br>" & _
"<font style=""font-family: Chiller; font-size: 21pt;"">Ciller 21</font>" &
Range("B5")
.htmlBody = ghNewBody & ghOldBody
End With
End Sub
'Fill B2 to B6 with some letters for testing
'"<font style=""font-family: Calibri; font-size: 15pt;""/font>" = works for all Range Objekts