programing

VBA에서 HTML 전자 메일 본문 글꼴 유형 및 크기 변경

topblog 2023. 9. 5. 19:34
반응형

VBA에서 HTML 전자 메일 본문 글꼴 유형 및 크기 변경

저는 주어진 워크시트에서 VBA 버튼을 누르면 생성되고 이메일로 전송되는 VBA 스크립트를 가지고 있습니다.

이 스크립트는 현재 비교적 작은 글꼴로 전자 메일을 생성합니다.글꼴을 칼리브리로 설정할 수 있는 방법이 있는지, 텍스트는 정확히 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사이즈로 설정하고 텍스트를 칼리브리로 포맷할 수 있는 방법이 없을까요?

감사해요!

저는 약간의 조사를 통해 이 코드를 작성할 수 있었습니다.

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의 값을 선택하는 것과 달리 텍스트 편집기에서 일반적으로 사용하는 것처럼 특정 글꼴 크기를 선택할 수 있습니다.

링크는 simp에서LEMAN은 나에게 좋은 정보를 주었습니다.

참고로 저도 조금 조사를 해봤는데, 적용하고자 하는 글꼴 계열의 이름에 공백이 포함되어 있다면(를 들어 길 알트 MT 라이트), 다음과 같이 작성해야 합니다.

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

언급URL : https://stackoverflow.com/questions/22200910/change-html-email-body-font-type-and-size-in-vba

반응형