VBA Αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου από το Excel μέσω του Outlook

Αυτό το σεμινάριο θα σας δείξει πώς να στέλνετε μηνύματα ηλεκτρονικού ταχυδρομείου από το Excel μέσω του Outlook χρησιμοποιώντας VBA.

Αποστολή του ενεργού βιβλίου εργασίας

1234567891011121314151617181920 Λειτουργία SendActiveWorkbook (strTo As String, strSubject As String, Optional strCC As String, Optional strBody As String) Ως BooleanΣτο Σφάλμα Συνέχιση ΕπόμενοDim appOutlook ως αντικείμενοDim mItem Ως αντικείμενο"Δημιουργήστε μια νέα παρουσία του OutlookΟρισμός appOutlook = CreateObject ("Outlook.Application")Ορισμός mItem = appOutlook .CreateItem (0)Με το mItem.To = strTo.CC = "".Subject = strSubject.Body = strBody. Συνημμένα.Προσθήκη ActiveWorkbook.FullName«χρησιμοποιήστε την αποστολή για άμεση αποστολή ή την εμφάνιση για εμφάνιση στην οθόνη.Εμφάνιση 'ή .ΑποστολήΤέλος με«καθαρίστε αντικείμεναΟρισμός mItem = ΤίποταΟρισμός appOutlook = ΤίποταΛειτουργία Τέλους

Η παραπάνω συνάρτηση μπορεί να κληθεί χρησιμοποιώντας την παρακάτω διαδικασία

123456789101112131415 Sub SendMail ()Dim strTo As StringDim strSubject As StringDim strBody As String"συμπληρώστε μεταβλητέςstrTo = "[email protected]"strSubject = "Βρείτε συνημμένο αρχείο χρηματοδότησης"strBody = "κάποιο κείμενο πηγαίνει εδώ για το σώμα του μηνύματος ηλεκτρονικού ταχυδρομείου"«καλέστε τη λειτουργία για να στείλετε το emailΑν SendActiveWorkbook (strTo, strSubject,, strBody) = true τότεMsgbox "Επιτυχία δημιουργίας email"ΑλλούMsgbox "Η δημιουργία email απέτυχε!"Τέλος εανΤέλος υπο

Χρησιμοποιώντας το Early Binding για να ανατρέξετε στη Βιβλιοθήκη αντικειμένων του Outlook

Ο παραπάνω κώδικας χρησιμοποιεί Late Binding για αναφορά στο αντικείμενο του Outlook. Μπορείτε να προσθέσετε μια αναφορά στο Excel και να δηλώσετε την εφαρμογή Outlook και το στοιχείο αλληλογραφίας του Outlook χρησιμοποιώντας Early Binding, εάν προτιμάτε. Η έγκαιρη δέσμευση καθιστά τον κώδικα πιο γρήγορο, αλλά σας περιορίζει καθώς ο χρήστης θα χρειαζόταν να έχει την ίδια έκδοση του Microsoft Office στον υπολογιστή του.

Κάντε κλικ στο μενού Εργαλεία και Αναφορές για να εμφανιστεί το παράθυρο διαλόγου αναφοράς.

Προσθέστε μια αναφορά στη Βιβλιοθήκη αντικειμένων του Microsoft Outlook για την έκδοση του Office που χρησιμοποιείτε.

Στη συνέχεια, μπορείτε να τροποποιήσετε τον κώδικά σας για να χρησιμοποιήσετε απευθείας αυτές τις αναφορές.

Ένα μεγάλο πλεονέκτημα της πρώιμης δέσμευσης είναι οι αναπτυσσόμενες λίστες που σας δείχνουν τα αντικείμενα που είναι διαθέσιμα για χρήση!

Αποστολή ενός φύλλου από το ενεργό βιβλίο εργασίας

Για να στείλετε ένα μόνο φύλλο, πρέπει πρώτα να δημιουργήσετε ένα νέο βιβλίο εργασίας από το υπάρχον βιβλίο εργασίας με αυτό ακριβώς το φύλλο και, στη συνέχεια, να το στείλετε.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 Λειτουργία SendActiveWorksheet (strTo As String, strSubject As String, Optional strCC As String, Optional strBody As String) As BooleanΣτο Σφάλμα GoTo ε«δηλώστε μεταβλητές για να συγκρατήσετε τα απαιτούμενα αντικείμεναDim wbDestination As WorkbookDim strDestName As StringDim wbSource As WorkbookDim wsSource As WorksheetDim OutApp ως αντικείμενοDim OutMail ως αντικείμενοDim strTempName As StringDim strTempPath As String«πρώτα δημιουργήστε βιβλίο εργασίας προορισμούΟρισμός wbDestination = Workbooks.AddstrDestName = wbDestination.Name«ορίστε το φύλλο εργασίας και το φύλλο εργασίαςΟρισμός wbSource = ActiveWorkbookΟρίστε wsSource = wbSource.ActiveSheet«αντιγράψτε το φύλλο ενεργειών στο νέο βιβλίο εργασίαςwsSource.Copy After: = Τετράδια εργασίας (strDestName). Φύλλα (1)'αποθηκεύστε με όνομα tempstrTempPath = Environ $ ("temp") & "\"strTempName = "Λίστα που ελήφθη από" & wbSource.Name & ".xlsx"Με wbDestination.SaveAs strTempPath & strTempName«τώρα στείλτε email στο βιβλίο εργασίας προορισμούSet OutApp = CreateObject ("Outlook.Application")Ορισμός OutMail = OutApp.CreateItem (0)Με OutMail.To = strTo.Subject = strSubject.Body = strBody. Συνημμένα.Προσθήκη wbDestination.FullName«χρησιμοποιήστε την αποστολή για άμεση αποστολή ή την εμφάνιση για εμφάνιση στην οθόνη.Εμφάνιση 'ή .ΕμφάνισηΤέλος με.Κλείσιμο ΛάθοςΤέλος με«διαγραφή προσωρινού βιβλίου εργασίας που έχετε επισυνάψει στην αλληλογραφία σαςΣκοτώστε strTempPath & strTempName«καθαρίστε τα αντικείμενα για να απελευθερώσετε τη μνήμηΟρισμός wbDestination = ΤίποταΟρισμός wbSource = ΤίποταΟρισμός wsSource = ΤίποταSet OutMail = ΤίποταSet OutApp = ΤίποταΛειτουργία εξόδουε:MsgBox Err.DescriptionΛειτουργία Τέλους

και για την εκτέλεση αυτής της συνάρτησης, μπορούμε να δημιουργήσουμε την ακόλουθη διαδικασία

12345678910111213 Sub SendSheetMail ()Dim strTo As StringDim strSubject As StringDim strBody As StringstrTo = "[email protected]"strSubject = "Βρείτε συνημμένο αρχείο χρηματοδότησης"strBody = "κάποιο κείμενο πηγαίνει εδώ για το σώμα του μηνύματος ηλεκτρονικού ταχυδρομείου"Αν SendActiveWorksheet (strTo, strSubject,, strBody) = True ΤότεMsgBox "Επιτυχία δημιουργίας email"ΑλλούMsgBox "Η δημιουργία email απέτυχε!"Τέλος εανΤέλος υπο
wave wave wave wave wave