thảo luận Hỗ trợ miễn phí viết macro VBA trong Outlook cho anh em

Với tinh thần cho đi là để nhận lại.

Với vốn hiểu biết chút ít về Outlook + buổi tối rảnh rỗi không biết làm gì, em nhận hỗ trợ cho những anh em có nhu cầu thường xuyên làm việc với Outlook với nhiều thao tác lặp đi lặp lại mà nếu làm thủ công thì thường tỏ ra đơn điệu và mất nhiều thời gian. Mặc dù phổ kiến thức trong Outlook rất rộng và bản thân không phải cái gì cũng biết, nhưng em sẽ cố gắng hỗ trợ mọi người trong khả năng hiểu biết của mình. :D

Một số mẹo:
https://voz.vn/t/outlook-vba-tu-don...-thu-thu-da-doc-chua-doc-chi-tiet-thu.455010/
https://voz.vn/t/outlook-vba-tu-don...-tu-dia-chi-email-nguoi-gui-nhat-dinh.496645/
bác có thể cho em xin code tải File đính kèm từ Outlook theo Subject mail định sẵn ko ạ. Ngàn lần cảm ơn bác
 
bác có thể cho em xin code tải File đính kèm từ Outlook theo Subject mail định sẵn ko ạ. Ngàn lần cảm ơn bác
Thím thử code này xem sao nhé.
Giải nén ra rồi Import vào trình soạn thảo VBE của Outlook.

1672829557188.png
 

Attachments

  • FilterMailsBySubject.zip
    1.2 KB · Views: 29
Last edited:
Với tinh thần cho đi là để nhận lại.

Với vốn hiểu biết chút ít về Outlook + buổi tối rảnh rỗi không biết làm gì, em nhận hỗ trợ cho những anh em có nhu cầu thường xuyên làm việc với Outlook với nhiều thao tác lặp đi lặp lại mà nếu làm thủ công thì thường tỏ ra đơn điệu và mất nhiều thời gian. Mặc dù phổ kiến thức trong Outlook rất rộng và bản thân không phải cái gì cũng biết, nhưng em sẽ cố gắng hỗ trợ mọi người trong khả năng hiểu biết của mình. :D

Một số mẹo:
https://voz.vn/t/outlook-vba-tu-don...-thu-thu-da-doc-chua-doc-chi-tiet-thu.455010/
https://voz.vn/t/outlook-vba-tu-don...-tu-dia-chi-email-nguoi-gui-nhat-dinh.496645/
Chào bạn, mình đang cần chương trình VBA để lấy các thông tin email với chứa ký tự "(TM)" ở subject email, các thông tin như email người gửi, email người nhận, email người được cc và attachment file vào trong 1 sheet của excel.
Bạn vui lòng cho hoặc hướng dẫn mình code với nhé,
Xin cảm ơn và hậu tạ, số điện thoại mình 0961607882
 
Chào bạn, mình đang cần chương trình VBA để lấy các thông tin email với chứa ký tự "(TM)" ở subject email, các thông tin như email người gửi, email người nhận, email người được cc và attachment file vào trong 1 sheet của excel.
Bạn vui lòng cho hoặc hướng dẫn mình code với nhé,
Xin cảm ơn và hậu tạ, số điện thoại mình 0961607882
Làm hẳn userform cho dễ dùng nhé thím, mà để mình ngâm cứu xem sao đã. :D
1674901932768.png
 
Chào bạn, mình đang cần chương trình VBA để lấy các thông tin email với chứa ký tự "(TM)" ở subject email, các thông tin như email người gửi, email người nhận, email người được cc và attachment file vào trong 1 sheet của excel.
Bạn vui lòng cho hoặc hướng dẫn mình code với nhé,
Xin cảm ơn và hậu tạ, số điện thoại mình 0961607882
Thím giải nén ra, rồi Import vào VBA dể dùng nhé.
Minh họa:
1674918509152.png
 

Attachments

  • UserForm2.zip
    2.8 KB · Views: 30
hi bác chủ top, mình code vba excel gửi mail hàng loạt bằng outlook. Nhưng có cách nào để save lại các email vừa gửi (có file đính kèm ) đó dc ko bác? Mình tìm hiểu trên excel nhưng chưa tìm ra hướng. Bác biết thì chỉ giúp mình với nhé. Cám ơn bác nhiều!
 
hi bác chủ top, mình code vba excel gửi mail hàng loạt bằng outlook. Nhưng có cách nào để save lại các email vừa gửi (có file đính kèm ) đó dc ko bác? Mình tìm hiểu trên excel nhưng chưa tìm ra hướng. Bác biết thì chỉ giúp mình với nhé. Cám ơn bác nhiều!
Thím thêm phương thức MailItem.SaveAs vào code nhé.
Tham khảo:
MailItem.SaveAs method (Outlook)
 
Mình có thử rồi mà ko dc, ý mình là send mail rồi sau đó save lại cái mail vừa send ấy. Khi mà send rồi thì lúc đó ko có object để saveas nữa nên nó đang lỗi chỗ đó ấy bác
À, vậy thì đầu tiên thím phải tạo bản sao của email gửi đi như sau:
Code:
...
Dim objOlApp As Outlook.Application
...
Dim objMail As Outlook.MailItem
Dim objCopiedMail As Outlook.MailItem
Set objMail = objOlApp.CreateItem(olMailItem)
With objMail
    ...
    Set objCopiedMail = .Copy
    objCopiedMail.SaveAs ...
End With
Hoặc, Outlook VBA hỗ trợ sự kiện Application.ItemSend trong đó có tham số Item chính là Mail sẽ được gửi đi.
 
À, vậy thì đầu tiên thím phải tạo bản sao của email gửi đi như sau:
Code:
...
Dim objOlApp As Outlook.Application
...
Dim objMail As Outlook.MailItem
Dim objCopiedMail As Outlook.MailItem
Set objMail = objOlApp.CreateItem(olMailItem)
With objMail
    ...
    Set objCopiedMail = .Copy
    objCopiedMail.SaveAs ...
End With
Hoặc, Outlook VBA hỗ trợ sự kiện Application.ItemSend trong đó có tham số Item chính là Mail sẽ được gửi đi.
Nếu tạo bản sao thì nó thành email trước khi send. Mình search gg thì cũng thấy hầu như đều là hướng sử dụng sự kiện ItemSend nhưng mà gọi từ Excel đang hơi băn khoăn ko biết tham số Item sẽ tham chiếu như thế nào hoặc lấy từ đâu, vì email đã gửi đi rồi. Bác có gợi ý cụ thể nào không ạ?
 
Nếu tạo bản sao thì nó thành email trước khi send. Mình search gg thì cũng thấy hầu như đều là hướng sử dụng sự kiện ItemSend nhưng mà gọi từ Excel đang hơi băn khoăn ko biết tham số Item sẽ tham chiếu như thế nào hoặc lấy từ đâu, vì email đã gửi đi rồi. Bác có gợi ý cụ thể nào không ạ?
Theo ý kiến của mình thì, tạo một class module khai báo sự kiện ItemSend như sau.
1686580386422.png

Sử dụng class module mới tạo:
1686580406351.png

Kết quả:
1686580449003.png
 
Bạn có thể giúp mình vấn đề này nhé.
Anh chị em ai rành VBA giúp dùm e với.
Tức mình có 2 bảng:
Bảng 1 và bảng 2. Dựa vào bảng 2 yêu cầu SL bao nhiêu thì bảng số 1 mình tách số lượng tương ứng vậy.
Ví dụ:
Bảng 2: trái táo - Nhà hàng xóm: yêu cầu 100 quả.
Trái táo - Bà con: Yêu cầu 150
Bảng 1: Trái táo rổ 1: 120 quả.
Trái táo rồ 2: 130 quả
Thì bảng mong muốn:
Trái táo - Nhà hàng xóm - rổ 1: 100 quả
Trái táo - Bà con - rổ 1: 20 quả
Trái táo - Bà con - rổ 2: 130 quả
Ngoài táo còn có cam và quýt cũng tách và gộp như trường hợp trái táo nhé.
(Mình có ví dụ 1 loại A trong bảng excel)
Mong mọi người giúp dùm em nhé.
 

Attachments

  • Thac mac.zip
    10.2 KB · Views: 20
Back
Top