Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] Αυτόματη αποστολή email. (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/6188-aytomati-apostoli-email.html)

caudillo 07-10-22 12:00

Αυτόματη αποστολή email.
 
Καλησπέρα.
Έχω φτιάξει κώδικα ώστε να μπορώ να στέλνω email ειδοποίησης όταν ικανοποιείται μια συγκεκριμένη συνθήκη. Συγκεκριμένα όταν η τιμή στο κελί G15 γίνεται μικρότερη ή ίση με 7 να δημιουργείται το email. Το ίδιο για τα κελιά G16 και G17.
Καθώς χρησιμοποίησα την If μέσα στον κώδικα, θεώρησα ότι τα email θα αποστέλλονταν όταν θα ικανοποιούνταν η If. Δεν γίνεται όμως κάτι τέτοιο. Πρέπει να εκτελέσω χειροκίνητα το module για να γίνει η αποστολή.
Παραθέτω τον κώδικα:

Κώδικας:

Sub Email_From_Excel_()

Dim emailApplication As Object
Dim emailItem1 As Object
Dim emailItem2 As Object
Dim emailItem3 As Object

Set emailApplication = CreateObject("Outlook.Application")
Set emailItem1 = emailApplication.CreateItem(0)
Set emailItem2 = emailApplication.CreateItem(0)
Set emailItem3 = emailApplication.CreateItem(0)

emailItem1.to = Sheets("Αρχείο σέρβις οχήματος").Range("E7")
emailItem2.to = Sheets("Αρχείο σέρβις οχήματος").Range("E7")
emailItem3.to = Sheets("Αρχείο σέρβις οχήματος").Range("E7")
emailItem1.Subject = Sheets("Αρχείο σέρβις οχήματος").Range("L8")
emailItem2.Subject = Sheets("Αρχείο σέρβις οχήματος").Range("L8")
emailItem3.Subject = Sheets("Αρχείο σέρβις οχήματος").Range("L8")
If Sheets("Αρχείο σέρβις οχήματος").Range("G15") <= 7 Then emailItem1.Body = Sheets("Αρχείο σέρβις οχήματος").Range("L15")
If Sheets("Αρχείο σέρβις οχήματος").Range("G16") <= 7 Then emailItem2.Body = Sheets("Αρχείο σέρβις οχήματος").Range("L16")
If Sheets("Αρχείο σέρβις οχήματος").Range("G17") <= 7 Then emailItem3.Body = Sheets("Αρχείο σέρβις οχήματος").Range("L17")

If Sheets("Αρχείο σέρβις οχήματος").Range("G15") <= 7 Then emailItem1.Send
If Sheets("Αρχείο σέρβις οχήματος").Range("G16") <= 7 Then emailItem2.Send
If Sheets("Αρχείο σέρβις οχήματος").Range("G17") <= 7 Then emailItem3.Send

Set emailItem = Nothing
Set emailApplication = Nothing

End Sub

Τι πρέπει να κάνω ώστε να μην χρειάζεται να ανοίγω το αρχείο, αλλά όταν ικανοποιηθεί η If να στέλνονται αυτόματα τα email;
Ευχαριστώ πολύ, κάθε πρόταση καλοδεχούμενη.


Η ώρα είναι 19:09.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2