Πώς να γράψετε χρήσιμες μακροεντολές στα μηνύματα του Outlook 2016 και 2019;
Νέος στις μακροεντολές VBA για αυτοματισμό του Outlook; Μάθετε πώς να εισάγετε κώδικα VBA στο Outlook 365 / 2016 / 2019.
Ενημερώθηκε: Αύγουστος 2021; Ισχύει για το Microsoft Outlook 365 / 2019 / 2016
Εδώ είναι ένα σημείωμα που πήραμε από έναν αναγνώστη.
Ευχαριστούμε για την πολύ χρήσιμη βοήθεια κωδικοποίησης του Outlook. Αναρωτιέμαι αν μπορείτε να μοιραστείτε κάποιον κώδικα που θα βοηθήσει στην αυτοματοποίηση της αποστολής ενός email στο Outlook; Γνωρίζω ότι υπάρχουν διάφοροι τρόποι αποστολής επαναλαμβανόμενων μηνυμάτων, αλλά με ενδιαφέρει συγκεκριμένα να χρησιμοποιήσω το VBA για αυτήν την εργασία.
Ευχαριστώ για την ερώτηση. Η αυτόματη αποστολή email φαίνεται να είναι από τις πιο χρήσιμες και δημοφιλείς εργασίες που μπορείτε να αυτοματοποιήσετε χρησιμοποιώντας το VBA. Διαβάστε παρακάτω για περισσότερες λεπτομέρειες και ένα απλό σενάριο για να ξεκινήσετε εδώ.
Σύνταξη VBA για αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου του Outlook
Στο σχετικά απλό παράδειγμα παρακάτω, θα καλύψουμε τα ακόλουθα βήματα:
Αυτός είναι ο απλός κώδικας 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.
Δείτε πώς να το κάνετε αυτό:
Πιθανά προβλήματα με τις ρυθμίσεις μακροεντολών VBA
Οι ρυθμίσεις μακροεντολών του Outlook ενδέχεται να πρέπει να συντονιστούν για την εκτέλεση μακροεντολών. Αν ναι, δείτε πώς να το κάνετε αυτό.
Στο 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 προϋποθέτει ότι το Outlook εκτελείται στον υπολογιστή σας. Το σενάριο δημιουργεί το θέμα και το σώμα του e-mail για κάθε διεύθυνση SMTP παραλήπτη στο αρχείο XLSX και επισυνάπτει το αρχείο. Στη συνέχεια στέλνει το e-mail.
Νέος στις μακροεντολές VBA για αυτοματισμό του Outlook; Μάθετε πώς να εισάγετε κώδικα VBA στο Outlook 365 / 2016 / 2019.
Μάθετε πώς μπορείτε να αντιγράψετε εύκολα συμβάντα ημερολογίου, συσκέψεις και συναντήσεις του Outlook στο Office 365, 2016 και 2019.
Μάθετε πώς μπορείτε να σχεδιάσετε και να δημιουργήσετε προσαρμοσμένες φόρμες χρηστών του Outlook.
Τα εισερχόμενα του Outlook δεν ενημερώνονται αυτόματα; Μάθετε πώς μπορείτε να ανανεώνετε αυτόματα τα εισερχόμενα του Outlook 365 / 2019 / 2016 / 2013 αυτόματα.
Μάθετε πώς να προσθέτετε/ενσωματώνετε και να στέλνετε μια εικόνα gif στα εξερχόμενα email του Outlook 2016 και 2019.
Μάθετε πώς να κάνετε διάγνωση και αντιμετώπιση προβλημάτων διαφορετικών προβλημάτων αποσύνδεσης προγράμματος-πελάτη του Microsoft Outlook στα Windows 10.
Μάθετε να γράφετε μακροεντολές του Outlook για να αυτοματοποιείτε την αποστολή email.
Μάθετε πώς να απενεργοποιείτε τις υπενθυμίσεις και τις ειδοποιήσεις από τα ημερολόγια του Outlook 2016 / 2019, τόσο σε Windows όσο και σε MAC.
Μάθετε πώς να βελτιώσετε την απόδοση του Outlook.
Σε αυτήν την ανάρτηση θα σας βοηθήσουμε να αλλάξετε τον κωδικό πρόσβασης του λογαριασμού σας στο Outlook.com και να διατηρήσετε συγχρονισμένα τα Windows σας, σε όλες τις συσκευές σας.