By kylejohnson95757@gmail.com την Παρασκευή, 01 Μαρτίου 2019
Καταχωρήθηκε στο Excel
Απαντήσεις 0
συμπαθεί 0
Προβολές 3.2K
Ψηφοφορίες 0
Γεια σας,
Είμαι νέος στο VBA. Έγραψα έναν κωδικό για να στείλω ένα email εάν υπάρχει αλλαγή στην τιμή του κελιού στη στήλη F και ο κωδικός λειτουργεί άψογα. Αλλά θέλω να βεβαιωθώ ότι το βιβλίο εργασίας είναι αποθηκευμένο πριν στείλω το email. Το σώμα κειμένου email πρέπει να περιλαμβάνει την τιμή του κελιού αναφοράς, η οποία είναι η τιμή από τη στήλη Α της σειράς που άλλαξε τιμή. Μην χρησιμοποιείτε μηνύματα, δεν θα λειτουργήσει με το βιβλίο εργασίας. Το βιβλίο εργασίας έχει μια φόρμα και θα φορτώσει την τιμή εισόδου στα καθορισμένα κελιά. Ο κώδικας λειτουργεί καλά με τη φόρμα. Αλλά αν κάποιος μπει στο φύλλο και ενημερώσει μη αυτόματα την τιμή, το μήνυμα ηλεκτρονικού ταχυδρομείου θα σταλεί στους χρήστες, κάτι που δεν θέλω μέχρι να αποθηκευτεί το αρχείο. Παρακαλώ βοηθήστε! Ευχαριστώ εκ των προτέρων.

Προσωπικό φύλλο εργασίας Sub_change (ByVal Target As Range)
Dim s1, s2, s3, s4, s5, s6 ως εύρος
Σετ s1 = Εύρος ("F1310:F1334")
Σετ s2 = Εύρος ("F1426:F1450")
Σετ s3 = Εύρος ("F1339:F1363")
Σετ s4 = Εύρος ("F1455:F1479")
Σετ s5 = Εύρος ("F1368:F1392")
Σετ s6 = Εύρος ("F1397:F1421")
On Error Συνέχιση Επόμενη
Εάν Target.Cells.Count > 1 Στη συνέχεια, πραγματοποιήστε έξοδο από το Sub
'βρείτε την τιμή που άλλαξε στη στήλη F
Εάν το Intersect(Target, Union(s1, s2, s3, s4, s5, s6)) δεν είναι τίποτα, τότε έξοδος
Αν IsNumeric(Target.Value) And Target.Value <> "" Τότε
Dim xOutApp ως αντικείμενο
Dim xOutMail ως αντικείμενο
Dim xMailBody ως συμβολοσειρά
Μεμβράνη xMailText ως συμβολοσειρά
Ορισμός xOutApp = CreateObject ("Outlook.Application")
Ορισμός xOutMail = xOutApp.CreateItem(0)
'τιμή ευρετηρίου από τη στήλη Α της σειράς η τιμή αυτή άλλαξε σε περιλαμβάνεται στο σώμα της αλληλογραφίας
xMailText = Target.Offset(, -5).Τιμή
xMailBody = "Γεια σου" & vbNewLine & vbNewLine & _
"Λήφθηκε τιμολόγιο για " & xMailText & vbNewLine & vbNewLine & _
"Ευχαριστώ" & vbNewLine & vbNewLine & _
"Κύριος Τζ"
On Error Συνέχιση Επόμενη
Με xOutMail
.To = "test@gmail.com"
.CC = ""
.BCC = ""
.Subject = "Λήφθηκε τιμολόγιο"
.Body = xMailBody
.Στείλετε
Τέλος με
Στο σφάλμα GoTo 0
Ορισμός xOutMail = Τίποτα
Ρύθμιση xOutApp = Τίποτα
End If
Sub End
Προβολή πλήρους ανάρτησης