- 帖子
- 3
- 主題
- 2
- 精華
- 0
- 積分
- 5
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- 2010
- 閱讀權限
- 10
- 性別
- 男
- 來自
- 宜蘭
- 註冊時間
- 2015-9-2
- 最後登錄
- 2016-12-9
|
不好意思 小弟初學VBA 現在正在學習怎樣用EXCEL發MAIL 前幾天已請教過版內高手 不過用了幾天發現還是有一些問題. 以下是我原來的程式碼
Sub sendmail()
Dim objEmail As Object
Const SMTPSERVER = "msa.hinet.net" '使用 msa.hinet.net 傳送郵件
Set objEmail = CreateObject("CDO.Message") '建立 CDO 物件
With objEmail.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPSERVER
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
objEmail.From = "quni_lin@yungtech.com" '寄件者(網域必須存在)
objEmail.To = Range("ZZ1").Value '收件者
objEmail.CC = Range("ZZ2").Value
objEmail.BCC = Join(Array([V7], [V8], [V9], [V10], [V11], [V12], [V13], [V14], [V15], [V16]), "; ")
objEmail.Subject = Range("V5").Value '郵件主旨
objEmail.HTMLBody = Range("V6") 'HTML郵件內文
objEmail.Send
Set objEmail = Nothing
End Sub
小弟的問題如下
1. 檔案轉存到其他電腦時在發信時.會發生錯誤.例如 "執行階段錯誤 Automation錯誤". 不知道是不是網域的問題還是發信的net有問題?
2. 如果objEmail.BCC = Join(Array([V7], [V8], [V9], [V10], [V11], [V12], [V13], [V14], [V15], [V16]), "; ").
想要將寄送範圍增大為 V7:V200. 這部分語法要改成怎樣會比較好.
3. objEmail.HTMLBody = Range("V6") 這部分是否也可以加大寄送郵件內文的範圍 例如V6:W8?
4. objEmail.Subject = Range("V5").Value '郵件主旨
objEmail.HTMLBody = Range("V6") 'HTML郵件內文
這兩個部分是否可以 以自訂表單的形式輸入? 例如這樣的 InputBox
5. 有無辦法崁入物件(例如其他檔案或是圖片)在"Z6"儲存格內.然後在發信出去時.可以將附件一併群發出去?
6. 由於MAIL內文都在儲存格內.有無辦法分段.使其文章不要從頭到尾都連在一起?
如果同時要滿足以上的需求.程式碼要如何更改會比較理想?抱歉小弟的問題比較多. 先跟各位大大們謝謝. 萬分感謝. |
|