我正在嘗試設定一個 VBA 以在特定日期和時間發送電子郵件。但我無法正確設定這條線:
.DeferredDeliveryTime
它回傳運行時錯誤 440,該物件不支持此方法。任何想法如何解決它?
帶日期的單元格自定義格式為 DD-MMM-YYYY,帶小時的單元格格式為時間
Sub RectangleRoundedCorners4_Click()
Dim OutlookApplication As Object
Dim OutlookMail As Object
Dim ws As Worksheet
Dim Ads As String
Dim Subj As String
Dim Body As String
Dim DelDate As Date
Dim DelHour As Integer
Dim DelMin As Integer
Set OutlookApplication = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApplication.CreateItem(0)
Set ws = ActiveSheet
Ads = ws.Cells(4, 2).Value
Subj = ws.Cells(7, 2).Value
Body = ws.Cells(4, 9).Value
DelDate = ws.Cells(10, 6).Value
DelHour = Hour(ws.Cells(12, 6).Value)
DelMin = Minute(ws.Cells(12, 6).Value)
With OutlookMail
.To = Ads
.CC = ""
.BCC = ""
.Subject = "REMINDER: " & Subj
.Body = Body
.DeferredDeliveryTime = DelDate & DelHour
End With
Set OutlookMail = Nothing
Set OutlookApplication = Nothing
End Sub

uj5u.com熱心網友回復:
DeferredDeliveryTime需要一個特定的日期/時間。只有連接這兩個值,結果才會成為 string。
首先,宣告Dim DelHour As Date。它應該是這樣的02:00:00。當然,它可能包含分鐘、秒,如果需要,應該考慮它們 ( 02:20:30)。
然后,嘗試.DeferredDeliveryTime = CDate(DelDate & " " & DelHour)
它可能有效,我認為......
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/534679.html
標籤:擅长VBA
