Изменение размера шрифта подписи почтового сообщения Outlook, созданного через VBA - PullRequest
0 голосов
/ 10 сентября 2018

Я могу выделить подпись жирным шрифтом, но не могу изменить размер.Я также могу изменить размер тела, но не подпись.Мне нужно изменить размер шрифта подписи, чтобы он соответствовал размеру шрифта тела письма.

Sub Email_Test()

'Exit function if user input incomplete:
If IsNull(Forms!frmCompMain!cboPayPrd) = True Then
            MsgBox "Please provide the Pay Period parameter!", vbCritical
            Exit Sub
            End If

'-----------------------------------------
----'DECLARE AND SET VARIABLES


 Dim myOutlok As Object
    Dim myMailItm As Object
    Dim Signature As String
    Dim OtlApp As Object
    Dim OtlNewMail As Object
    Dim olMailItem As Object
    Dim PayPrd As String


    Set OtlApp = CreateObject("Outlook.Application")
    Set OtlNewMail = OtlApp.CreateItem(0)


    PayPrd = Forms!frmCompMain!cboPayPrd
'-----------------------------------------
-----'GET DEFAULT EMAIL SIGNATURE


Signature = Environ("appdata") & "\Microsoft\Signatures\"
    If Dir(Signature, vbDirectory) <> vbNullString Then
        Signature = Signature & Dir$(Signature & "*.htm")
    Else:
        Signature = ""
    End If
    Signature = 



CreateObject("Scripting.FileSystemObject").GetFile(Signature).OpenAsTextStream(1, -2).ReadAll

'-----------------------------------------
----'CREATE EMAIL


OtlNewMail.HTMLBody = Signature
    With OtlNewMail
    .to = ""
    .CC = ""
    .Subject = ""
    .HTMLBody = "<font size='2'> Hello," & "<br />" & _
    "<br />" & _
    "" & "<br />" & _
    "<br />" & _
    "<b>Production Period:</b> " & DateSerial(Year(PayPrd)" & _
    "<br />" & _
    "<b> Pay Date:</b> " & DateSerial(Year(PayPrd), Month(PayPrd) + 1, 10) & 
    "<br />" & _
    "<br />" & _
    "Please let me know if you have any questions." & "<br />" & _
    "<br />" & _
    "<b>" & Signature & "</b>"
    .display
    '.Send
    End With
'-----------------------------------------
----'CLEANUP


End Sub

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Вы должны использовать следующий код для замены содержимого .HTMLBody:

Signature = "<b style='color:red;'>Your Sigature</b>"    
With OutMail
        .To = ""
        .Subject = "This is the Subject line"
        .HTMLBody = "<font style='font-size:20px !important;'> Hello <br /><br/><br/><b>Production Period:</b> DateSerial(Year(PayPrd)<br /><b> Pay Date:</b>  DateSerial(Year(PayPrd), Month(PayPrd) + 1, 10)<br/><br/>Please let me know if you have any questions.<br/><br/><b style='font-size 14px !important'>" & Signature & "</b></font>"
        .Display

Если размер шрифта установлен в подписи HTML, вам нужно использовать интерфейс HTMLDocument для установки размера.

0 голосов
/ 10 сентября 2018

Во-первых, вы не можете объединить две строки HTML и ожидать верную строку HTML обратно.Оба должны быть объединены.

Во-вторых, если размер шрифта явно задан в сигнатуре HTML, ваш код, явно заключающий подпись в элемент с указанным размером шрифта, ничего не сделает.Вам нужно будет использовать интерфейс HTMLDocument или объектную модель Word, чтобы установить размер.

Или, самое простое из возможных решений, убедиться, что стационарная подпись уже имеет правильный шрифт.

...