2017-07-30 24 views
0

我試過這個Microsoft Word宏,將我已經完成的選擇粘貼到新電子郵件中,但是當我以HTML格式執行時,雖然在末尾沒有<br>每一段,結果都是一句一句的,沒有回車。從Microsoft Word到Outlook的選擇使用VBA的新電子郵件

例子:
文本1
文本2
文本3

我得到:
文本1文本2文本3

Dim rng As Range 
Dim OutApp As Object 
Dim OutMail As Object 

Set rng = ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End) 

Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(olMailItem) 

On Error Resume Next 
With OutMail 
    .Display 
    .To = "[email protected]" 
    .CC = "[email protected]" 
    .BCC = "" 
    .Subject = Date 
    .BodyFormat = olFormatHTML 
    .HTMLBody = "<HTML><body><font face=""calibri"" style=""font-size:11pt;""><br>" & rng & _ 
"<br><br></body>" & _ 
"Best Reagrds" & _ 
     .HTMLBody & "</font>" 
    .Text 
+0

的一種方式解決這個問題可能會使用文本框。請參閱https://stackoverflow.com/questions/45362791/vba-email-loop-for-excel-reporting/45363726#45363726 –

+0

在Word中這不起作用!它出現了編譯錯誤:Sub或Function沒有在Set上定義r =範圍(「B1) – massimob1972

+0

右邊 - 那個代碼是爲Excel模塊編寫的 –

回答

0

試試這個在您的代碼(未經測試)

dim sen as variant 


.HTMLBody = "<HTML><body><font face=""calibri"" style=""font-size:11pt;""><br>" 

for each sen in rng.sentences 
    .htmlbody = .htmlbody & sen & "<br>"  ' may have to be sen.text 
next sen 

.... 
+0

非常好,這個工作正常。 = .HTMLbody&「

  • 」&sen&「

  • 」但我錯過了簽名,它發生了一段時間,但最終不再是這樣了 – massimob1972

    +0

    我也將rng.Sentences更改爲rng.Paragraphs更好,而在句子中,有時候用點不要關閉這段時間,而只是稍後作出評論。所以段落要好得多,但仍然缺少簽名。 – massimob1972

    相關問題