Αυτό το σεμινάριο θα σας δείξει πώς να στέλνετε μηνύματα ηλεκτρονικού ταχυδρομείου από το 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 απέτυχε!"Τέλος εανΤέλος υπο |