반응형
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
반응형
'programing' 카테고리의 다른 글
nodejs를 사용하여 기본 브라우저를 열고 특정 URL로 이동하는 방법 (0) | 2023.09.10 |
---|---|
MySQL 테이블을 CSV 파일로 내보내기 (0) | 2023.09.05 |
Spring Session Attributes 테이블 이름은 대소문자를 구분합니다. (0) | 2023.09.05 |
부트스트랩 열이 여러 행에 걸쳐지도록 하려면 어떻게 해야 합니까? (0) | 2023.09.05 |
도커 컨테이너의 셸에 어떻게 들어가나요? (0) | 2023.09.05 |