VBA Gửi email từ Excel qua Gmail

Hướng dẫn này sẽ chỉ cho bạn cách gửi email từ Excel qua Gmail bằng VBA.

Thêm tài liệu tham khảo CDO của Microsoft

Để cho phép Excel gửi email qua Gmail, trước tiên bạn phải thêm thư viện tham chiếu CDO vào dự án Excel của mình.

Trong VBA Editor, nhấp vào Công cụ, Tham khảo.

Tìm kiếm Tài liệu tham khảo CDO của Microsoft và bấm OK.

Gửi Email qua GMail

Để gửi Email từ Excel qua Gmail, trước tiên bạn cần khai báo một đối tượng CDO (Làm mờ gMail dưới dạng CDO.Message).

Thứ hai, bạn cần phải định cấu hình Xác thực SSL cho tin nhắn trong mã của bạn. Điều này có nghĩa là bạn cần đặt máy chủ SMTP và Chi tiết cổng để email của bạn đi qua chính xác, cũng như thiết lập tên người dùng và mật khẩu của bạn.

Trong đoạn mã bên dưới, đây là những gì bạn cần khi bắt đầu hàm Excel của mình. Bạn cần Người nhận email (strTo) và Chủ đề (strSubject) nhưng CC và Nội dung email có thể là các biến tùy chọn.

12345678910111213141516171819202122232425262728 Hàm CreateEmail (strTo As String, strSubject As String, strCC Tùy chọn As String, Tùy chọn strBody As String)'tạo một đối tượng CDOLàm mờ gMail As CDO.MessageĐặt gMail = New CDO.Message'Bật xác thực SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Đúng'Bật xác thực SMTP = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Đặt chi tiết cổng và máy chủ SMTPgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"gMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25gMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2'Đặt tên người dùng và mật khẩu của bạn cho tài khoản gmail của riêng bạn tại đâygMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Cập nhật các trường cấu hìnhgMail.Configuration.Fields.Update

Sau khi hoàn tất, bạn có thể tạo email của mình và hoàn thành chức năng.

123456789 'đặt thuộc tính email và tệp để gửiVới gMail .Subject = "Viết chủ đề ở đây".From = "[email protected]".To = strTo.TextBody = strBodyKết thúc với'để gửi thưgMail.SendChức năng kết thúc

Sau đó, bạn có thể gọi hàm của mình bằng mã sau

1234567 Gửi email phụ'tạo phần thân của emailDim strText dưới dạng chuỗistrText = "Chào buổi sáng. Chúc bạn khỏe - đây là email thử nghiệm"'điền các đối số của hàm - để trống CC để đặt dấu phẩy làm trình giữ chỗCreateEmail ("[email protected]", "Email kiểm tra", strText)Kết thúc phụ

Gửi Sổ làm việc qua GMail

Để gửi sổ làm việc dưới dạng tệp đính kèm qua GMail, bạn có thể tạo một chức năng giống như chức năng ở trên với một số bổ sung.

Bạn cần thêm mã để chọn sổ làm việc, sau đó bạn cần đính kèm tệp đã chọn vào email.

Chúng tôi sẽ sử dụng Microsoft Office FileDialog để chọn tệp để gửi, sau đó sử dụng Thêm bản đính kèm thuộc tính của email để thêm tệp dưới dạng tệp đính kèm.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Hàm SendWorkbook (strTo As String, strSubject As String, strCC Tùy chọn As String, Tùy chọn strBody As String) As BooleanVề lỗi goto eh:'tạo một đối tượng CDOLàm mờ gMail As CDO.MessageĐặt gMail = New CDO.Message'Bật xác thực SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Đúng'Bật xác thực SMTP = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Đặt chi tiết cổng và máy chủ SMTPgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2'Đặt tên người dùng và mật khẩu của bạn cho tài khoản gmail của riêng bạn tại đâygMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Cập nhật các trường cấu hìnhgMail.Configuration.Fields.Update'chọn tệp để gửi bằng hộp thoại tệp microsoftDim strFileToSend As StringDim dlgFile As FileDialogDim strItem As VariantDim nDlgResult As LongĐặt dlgFile = Application.FileDialog (msoFileDialogFilePicker)'bộ lọc chỉ cho các tệp excel và csvdlgFile.Filters. Thêm "Tệp Excel", "* .csv; * .xls; * .xlsx; * .xlsm"nDlgResult = dlgFile.ShowNếu nDlgResult = -1 ThìNếu dlgFile.SelectedItems.Count> 0 ThìĐối với mỗi strItem Trong dlgFile.SelectedItemsstrFileToSend = strItemStrItem tiếp theoKết thúc nếuKết thúc nếu'đặt thuộc tính email và tệp để gửiVới gMail.Subject = "Viết chủ đề ở đây".From = "[email protected]".To = strTo.TextBody = strBody'thêm tệp đã chọn làm tệp đính kèm.AddAttachment strFileToSendKết thúc với'để gửi thưgMail.SendSendWorkbook = TrueChức năng thoátHở:SendWorkbook = SaiChức năng kết thúc

Nếu cổng cấu hình 25 không hoạt động, bạn có thể gặp lỗi - “Phương tiện truyền tải không kết nối được với máy chủ” Thay đổi cổng thành 25 và thử lại.

Hàm trên có thể được gọi bằng quy trình dưới đây.

123456789101112131415 Gửi phụ ()Dim strTo As StringDim strSubject As StringDim strBody dưới dạng chuỗi'điền các biếnstrTo = "[email protected]"strSubject = "Vui lòng tìm tệp tài chính đính kèm"strBody = "một số văn bản ở đây cho phần nội dung của email"'gọi hàm để gửi emailNếu SendWorkbook (strTo, strSubject,, strBody) = true thìMsgbox "Tạo email thành công"KhácMsgbox "Không tạo được email!"Kết thúc nếuKết thúc Sub

Bạn sẽ được yêu cầu chọn Tệp mà bạn muốn gửi. Mã này bị hạn chế đối với các tệp Excel do bộ lọc là “* .csv; * .xls; * .xlsx; * .xlsm ”- tuy nhiên, bạn cũng có thể sử dụng mã này trong Word và sửa đổi bộ lọc của mình cho phù hợp.

Chọn tệp và bấm mở. Có thể mất một lúc để chạy mã - nếu thư của bạn được gửi thành công, bạn sẽ nhận được thông báo sau.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave