Πώς να στείλετε ένα email στο Outlook με VBA;

Ενημερώθηκε: Αύγουστος 2021; Ισχύει για το Microsoft Outlook 365 / 2019 / 2016

Εδώ είναι ένα σημείωμα που πήραμε από έναν αναγνώστη.

Ευχαριστούμε για την πολύ χρήσιμη βοήθεια κωδικοποίησης του Outlook. Αναρωτιέμαι αν μπορείτε να μοιραστείτε κάποιον κώδικα που θα βοηθήσει στην αυτοματοποίηση της αποστολής ενός email στο Outlook; Γνωρίζω ότι υπάρχουν διάφοροι τρόποι αποστολής επαναλαμβανόμενων μηνυμάτων, αλλά με ενδιαφέρει συγκεκριμένα να χρησιμοποιήσω το VBA για αυτήν την εργασία.

Ευχαριστώ για την ερώτηση. Η αυτόματη αποστολή email φαίνεται να είναι από τις πιο χρήσιμες και δημοφιλείς εργασίες που μπορείτε να αυτοματοποιήσετε χρησιμοποιώντας το VBA. Διαβάστε παρακάτω για περισσότερες λεπτομέρειες και ένα απλό σενάριο για να ξεκινήσετε εδώ.

Σύνταξη VBA για αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου του Outlook

Στο σχετικά απλό παράδειγμα παρακάτω, θα καλύψουμε τα ακόλουθα βήματα:

  1. Αρχικά, θα χρησιμοποιήσουμε το μοντέλο αντικειμένου VBA Outlook για να δημιουργήσουμε ένα νέο στοιχείο email.
  2. Στη συνέχεια, θα προχωρήσουμε και θα ορίσουμε τη σημασία του μηνύματος, τους παραλήπτες (που χωρίζονται με άνω τελείες) και το στυλ και το περιεχόμενο του κειμένου του σώματος.
  3. Στη συνέχεια, θα εμφανίσουμε το μήνυμα στην εφαρμογή Microsoft Outlook.
  4. Τέλος, θα προχωρήσουμε και θα το στείλουμε στους παραλήπτες.

Αυτός είναι ο απλός κώδικας VBA για αυτόματη δημιουργία και αποστολή απλών μηνυμάτων ηλεκτρονικού ταχυδρομείου. Σημειώστε ότι πρόκειται να βελτιώσετε εύκολα αυτό το σενάριο ώστε να περιλαμβάνει συνημμένα αρχεία, εργασίες κ.λπ.', αλλά ας ξεκινήσουμε με ένα πολύ βασικό σενάριο.

Sub SendMail()
Dim MyEmail As MailItem
Set MyEmail = Application.CreateItem(olMailItem)

With MyEmail
.To = ""
.Importance = olImportanceHigh
.Subject = ""
.Body = ""
.BodyFormat = olFormatHTML
.Display
End With

'I purposely commented the next line, uncomment it by removing the "'" sign to send your email.
' MyEmail.Send
End Sub

Συντόμευση μακροεντολής VBA του Outlook

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

Δείτε πώς να το κάνετε αυτό:

  1. Πρώτα, προχωρήστε και ανοίξτε το Microsoft Outlook.
  2. Πατήστε Αρχείο και μετά επιλέξτε Επιλογές
  3. Τώρα προχωρήστε και επιλέξτε Προσαρμογή κορδέλας.
  4. Στην ενότητα Προσαρμογή κορδέλας, θα παρατηρήσετε το πλαίσιο λίστας Επιλογή εντολών από.
  5. Επιλέξτε Μακροεντολές
  6. Στη συνέχεια, επιλέξτε τον νέο κωδικό VBA που δημιουργήσατε, στην περίπτωσή μας το όνομα θα πρέπει να είναι SendMail.
  7. Στη συνέχεια, πατήστε Προσθήκη και μετά OK. Προαιρετικά, μπορεί να θέλετε να αντιστοιχίσετε ένα εικονίδιο στη μακροεντολή σας.
  8. Η μακροεντολή σας θα είναι διαθέσιμη στη γραμμή εργαλείων γρήγορης πρόσβασης στην επάνω αριστερή πλευρά της εφαρμογής Outlook.

Πιθανά προβλήματα με τις ρυθμίσεις μακροεντολών VBA

Οι ρυθμίσεις μακροεντολών του Outlook ενδέχεται να πρέπει να συντονιστούν για την εκτέλεση μακροεντολών. Αν ναι, δείτε πώς να το κάνετε αυτό.

Μπόνους: Στείλτε ένα email από το Outlook χρησιμοποιώντας το PowerShell

Στο PowerShell, μπορείτε να χρησιμοποιήσετε το Send-MailMessage cmdlet για να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου. Ωστόσο, απαιτεί έλεγχο ταυτότητας στον διακομιστή αλληλογραφίας και δεν υποστηρίζει σύγχρονες μεθόδους ελέγχου ταυτότητας, όπως OAuth και Σύγχρονος έλεγχος ταυτότητας της Microsoft. Επομένως, είναι πολύ πιο εύκολο να στείλετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου εάν έχετε διαμορφώσει ένα προφίλ Outlook στον υπολογιστή σας.

Ακολουθεί ένα παράδειγμα δέσμης ενεργειών PowerShell που διαβάζει δεδομένα από ένα αρχείο Excel και χρησιμοποιεί ένα προφίλ του Outlook για να στείλει ένα μήνυμα ηλεκτρονικού ταχυδρομείου στο κάθε χρήστης:

# ανοίξτε το αρχείο Excel
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Λάβετε τον αριθμό των συμπληρωμένων σειρών σε ένα αρχείο xlsx
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Κάντε βρόχο σε όλες τις σειρές στη στήλη 1, ξεκινώντας από τη δεύτερη σειρά (αυτά τα κελιά περιέχουν τα ονόματα χρήστη και τα μηνύματα ηλεκτρονικού ταχυδρομείου).
for($i=2;$i -le $rowcount;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$FullUsername =  $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text
$Status =  $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Text
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Text
# Δημιουργία κειμένου κειμένου
$strSubj = " Η κατάσταση του λογαριασμού σας στον τομέα woshub.com "
$strBody = "Αγαπητέ " + $FullUsername
$strBody = $strBody + " `r`n Ο λογαριασμός σας στον τομέα woshub.com βρίσκεται στο " + $Status
$strBody = $strBody + "`r`n Η ημερομηνία και η ώρα της τελευταίας αλλαγής κωδικού πρόσβασης είναι: " +  $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Υποθέτουμε ότι το Outlook εκτελείται, αν δεν είναι, θα πρέπει να το ξεκινήσετε με την εντολή $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$email = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body =  $strBody
# Επισυνάψτε ένα αρχείο (αν χρειάζεται)
$email.Attachments.add($strfile)
#send the e-mailsage
$email.Send()
}
$ExcelWorkBook.close($true)

Powershell script για αποστολή email από διαμορφωμένο προφίλ του outlook

Αυτό το σενάριο PowerShell προϋποθέτει ότι το Outlook εκτελείται στον υπολογιστή σας. Το σενάριο δημιουργεί το θέμα και το σώμα του e-mail για κάθε διεύθυνση SMTP παραλήπτη στο αρχείο XLSX και επισυνάπτει το αρχείο. Στη συνέχεια στέλνει το e-mail.


Πώς να γράψετε χρήσιμες μακροεντολές στα μηνύματα του Outlook 2016 και 2019;

Πώς να γράψετε χρήσιμες μακροεντολές στα μηνύματα του Outlook 2016 και 2019;

Νέος στις μακροεντολές VBA για αυτοματισμό του Outlook; Μάθετε πώς να εισάγετε κώδικα VBA στο Outlook 365 / 2016 / 2019.

Πώς να αντιγράψετε συσκέψεις και συμβάντα στο ημερολόγιο του Outlook 2019 / 365 / 2016;

Πώς να αντιγράψετε συσκέψεις και συμβάντα στο ημερολόγιο του Outlook 2019 / 365 / 2016;

Μάθετε πώς μπορείτε να αντιγράψετε εύκολα συμβάντα ημερολογίου, συσκέψεις και συναντήσεις του Outlook στο Office 365, 2016 και 2019.

Φόρμες του Outlook: Πώς να δημιουργήσετε φόρμες με δυνατότητα συμπλήρωσης στο Microsoft Office 2016 / 2019;

Φόρμες του Outlook: Πώς να δημιουργήσετε φόρμες με δυνατότητα συμπλήρωσης στο Microsoft Office 2016 / 2019;

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

Πώς να ανανεώνω τα εισερχόμενα του Outlook όταν δεν ενημερώνονται αυτόματα;

Πώς να ανανεώνω τα εισερχόμενα του Outlook όταν δεν ενημερώνονται αυτόματα;

Τα εισερχόμενα του Outlook δεν ενημερώνονται αυτόματα; Μάθετε πώς μπορείτε να ανανεώνετε αυτόματα τα εισερχόμενα του Outlook 365 / 2019 / 2016 / 2013 αυτόματα.

Πώς να προσθέσετε εικόνες gif στο σώμα ή την υπογραφή email του Outlook 2016 / 2019;

Πώς να προσθέσετε εικόνες gif στο σώμα ή την υπογραφή email του Outlook 2016 / 2019;

Μάθετε πώς να προσθέτετε/ενσωματώνετε και να στέλνετε μια εικόνα gif στα εξερχόμενα email του Outlook 2016 και 2019.

Γιατί το Outlook είναι εκτός σύνδεσης ή αποσυνδεδεμένο και πώς να συνδεθείτε ξανά;

Γιατί το Outlook είναι εκτός σύνδεσης ή αποσυνδεδεμένο και πώς να συνδεθείτε ξανά;

Μάθετε πώς να κάνετε διάγνωση και αντιμετώπιση προβλημάτων διαφορετικών προβλημάτων αποσύνδεσης προγράμματος-πελάτη του Microsoft Outlook στα Windows 10.

Πώς να στείλετε ένα email στο Outlook με VBA;

Πώς να στείλετε ένα email στο Outlook με VBA;

Μάθετε να γράφετε μακροεντολές του Outlook για να αυτοματοποιείτε την αποστολή email.

Διακοπή αναδυόμενων ειδοποιήσεων ημερολογίου Outlook 365 / 2019 / 2016 για συναντήσεις και συναντήσεις

Διακοπή αναδυόμενων ειδοποιήσεων ημερολογίου Outlook 365 / 2019 / 2016 για συναντήσεις και συναντήσεις

Μάθετε πώς να απενεργοποιείτε τις υπενθυμίσεις και τις ειδοποιήσεις από τα ημερολόγια του Outlook 2016 / 2019, τόσο σε Windows όσο και σε MAC.

Πώς να κάνετε το Microsoft Outlook να τρέχει πιο γρήγορα (εκδόσεις 2019 / 365/ 2016);

Πώς να κάνετε το Microsoft Outlook να τρέχει πιο γρήγορα (εκδόσεις 2019 / 365/ 2016);

Μάθετε πώς να βελτιώσετε την απόδοση του Outlook.

Πώς να τροποποιήσετε τον κωδικό πρόσβασής σας στο Hotmail σε Windows, τηλέφωνο Android, iPhone ή iPad;

Πώς να τροποποιήσετε τον κωδικό πρόσβασής σας στο Hotmail σε Windows, τηλέφωνο Android, iPhone ή iPad;

Σε αυτήν την ανάρτηση θα σας βοηθήσουμε να αλλάξετε τον κωδικό πρόσβασης του λογαριασμού σας στο Outlook.com και να διατηρήσετε συγχρονισμένα τα Windows σας, σε όλες τις συσκευές σας.