Cách tốt nhất tôi biết là tạo một mục ứng dụng xem, tạo tin nhắn, hiển thị tin nhắn và sử dụng các phím gửi để gửi tin nhắn (tương đương với cách gõ alt s).
Hạn chế là phương thức sendkeys có thể hơi lỗi. Để làm cho nó mạnh mẽ hơn, tôi nhận được thanh tra cho mục thư tức là cửa sổ đang ở và kích hoạt nó ngay lập tức trước cuộc gọi đến các phím gửi. Mã này được hiển thị dưới đây:
Dim olApp As outlook.Application
Dim objNS As Outlook.Namespace
Dim objMail As Outlook.MailItem
Dim objSentItems As Outlook.MAPIFolder
Dim myInspector As Outlook.Inspector
'Check whether outlook is open, if it is use get object, if not use create object
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If
Set objNS = olApp.GetNamespace("MAPI")
objNS.Logon
'Prepare the mail object
Set objMail = olApp.CreateItem(olMailItem)
With objMail
.To = <insert recipients name as string>
.Subject = <insert subject as string>
.Body = <insert message as string>
.Display
End With
'Give outlook some time to display the message
Application.Wait (Now + TimeValue("0:00:05"))
'Get a reference the inspector obj (the window the mail item is displayed in)
Set myInspector = objMail.GetInspector
'Activate the window that the mail item is in and use sendkeys to send the message
myInspector.Activate
SendKeys "%s", True
Tôi thường sau đó có mã để kiểm tra xem số lượng các mục trong thư mục gửi đã tăng lên và nếu không tôi nhận được đơn xin chờ một lần nữa và lặp lại 2 dòng cuối cùng của mã và kiểm tra lại rằng số lượng thư trong thư mục đã gửi đã tăng lên. Mã này tối đa 5 lần. Sau lần thứ 5 một hộp thông báo xuất hiện cảnh báo rằng thư có thể chưa được gửi đi.
Tôi chưa bao giờ thấy phương pháp này thất bại trong việc gửi tin nhắn từ excel mặc dù tôi đã từng thấy thông báo cảnh báo khi hệ thống của chúng tôi đặc biệt chậm, khi điều tra thì tin nhắn đã được gửi đi.
Nguồn
2013-08-16 00:53:57
Bạn có thể vui lòng đăng mã mà bạn đang sử dụng không? –
Xem http://www.rondebruin.nl/win/s1/security.htm – brettdj