2014-10-08 122 views
0

我從宏(Excel文件宏)創建電子郵件,並試圖使附件夾在文本中。使用下面的代碼的附件簽名後加上的,我想它有身體,文件簽名對Outlook中的文本和附件重新排序電子郵件

Set olMailItem = olApp.CreateItemFromTemplate(EmailFilePath) 
With olMailItem 
    'search and replace subject for "KW ##" to the kw from "Key Metrics" tab 
    .Subject = Replace(.Subject, "KW ##", KW) 
    .Attachments.Add ("H:\QA\QA Mgmt\Presentations\" & reports(r).filename) 
    .Body = .Body & GetSignature(emailTemplatePath & "EmailSignature.txt") 
    .Display 
End With 

EmailFilePath是與現有的身體和reciepients的MSG文件的路徑。有沒有辦法強制簽名被添加到附件後?

在此先感謝

回答

0

的附件可以通過實施下面的一行放置只有當電子郵件的「bodyformat」設置爲「富文本」

你可以做到這一點的身體內碼到你的函數:

.BodyFormat = olFormatRichText ' 3 also works 

實施

Set olMailItem = olApp.CreateItemFromTemplate(EmailFilePath) 
With olMailItem 
    ' **** Add this line vvvv **** 
    .BodyFormat = olFormatRichText ' 3 also works 

    'search and replace subject for "KW ##" to the kw from "Key Metrics" tab 
    .Subject = Replace(.Subject, "KW ##", KW) 
    .Attachments.Add ("H:\QA\QA Mgmt\Presentations\" & reports(r).filename) 
    .Body = .Body & GetSignature(emailTemplatePath & "EmailSignature.txt") 
    .Display 
End With 

此外,「.Attachments.Add」的第三個參數是「位置」,默認情況下它是0,但是這個數字表示附件將位於主體內的哪個字符。如果您的電話號碼大於其將自動放置在最後的字符總數。如果你的號碼是1,它將被放置在開始處。

這應該做工精細,只是改變了位置參數

.Attachments.Add Source:="H:\QA\QA Mgmt\Presentations\" & reports(r).filename, Position:=100 

更多有關Outlook附件的數量:http://msdn.microsoft.com/en-us/library/office/ff869553(v=office.15).aspx