Μετάβαση στο κύριο περιεχόμενο

Πώς να καταχωρίσετε όλα τα ονόματα των συνημμένων στο σώμα μηνυμάτων κατά τη σύνταξη email στο Outlook;

Υπάρχουν κάποιοι καλοί τρόποι για να εισαγάγουμε όλα τα ονόματα συνημμένων στο σώμα μηνυμάτων κατά τη σύνταξη ενός email στο Outlook; Αυτό το άρθρο, θα μιλήσω για τον τρόπο επίλυσης αυτής της εργασίας στο Outlook.

Καταχωρίστε όλα τα ονόματα των συνημμένων στο σώμα μηνυμάτων κατά τη σύνταξη email με τον κωδικό VBA

Καταχωρίστε όλα τα ονόματα συνημμένων στο σώμα μηνυμάτων κατά τη σύνταξη email με μια απλή λειτουργία


Καταχωρίστε όλα τα ονόματα των συνημμένων στο σώμα μηνυμάτων κατά τη σύνταξη email με τον κωδικό VBA

Κάντε τα παρακάτω βήματα για να ολοκληρώσετε αυτήν την εργασία:

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. Στην Microsoft Visual Basic για εφαρμογές παράθυρο, κάντε διπλό κλικ Αυτό το OutlookSession από το Έργο1 (VbaProject.OTM) παράθυρο για να ανοίξετε τη λειτουργία και, στη συνέχεια, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στην κενή μονάδα.

Κωδικός VBA: Λίστα όλων των ονομάτων συνημμένων στο σώμα μηνυμάτων:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim xMailItem As MailItem
    If Item.Class = olMail Then
        Set xMailItem = Item
        If xMailItem.Attachments.Count > 0 Then
          AddAttachmentNamesToBody
        End If
    End If
    End Sub

3. Στη συνέχεια, κάντε κλικ Κύριο θέμα > Μονάδα μέτρησης, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στην ανοιχτή κενή ενότητα, δείτε το στιγμιότυπο οθόνης:

Κωδικός VBA: Λίστα όλων των ονομάτων συνημμένων στο σώμα μηνυμάτων:

Public Sub AddAttachmentNamesToBody()
    Dim xMailItem As MailItem
    Dim xAttachment As Attachment
    Dim xFileName As String
   Dim xInspector As Outlook.Inspector
    Dim xDoc As Word.Document
    Dim xWdSelection As Word.Selection
    On Error Resume Next
    Set xMailItem = Outlook.ActiveInspector.CurrentItem
    If xMailItem.Attachments.Count = 0 Then
        Exit Sub
    End If
    xFileName = ""
    For Each xAttachment In xMailItem.Attachments
        If xFileName = "" Then
            xFileName = " <" & xAttachment.FileName & "> "
        Else
            xFileName = xFileName & vbCrLf & " <" & xAttachment.FileName & "> "
        End If
    Next xAttachment
    Set xInspector = Outlook.Application.ActiveInspector()
    Set xDoc = xInspector.WordEditor
    Set xWdSelection = xDoc.Application.Selection
    xWdSelection.HomeKey Unit:=wdStory
    xWdSelection.InsertBefore "Attachments: " & vbCrLf & xFileName & vbCrLf & vbCrLf
    Set xMailItem = Nothing
    End Sub

4. Και στη συνέχεια κάντε κλικ στο κουμπί Εργαλεία > αναφορές στο Microsoft Visual Basic για εφαρμογές παράθυρο, στο αναδυόμενο Αναφορές-Έργο 1 πλαίσιο διαλόγου, επιλέξτε Βιβλιοθήκη αντικειμένων του Microsoft Word Επιλογή από το Διαθέσιμες αναφορές πλαίσιο λίστας, δείτε το στιγμιότυπο οθόνης:

5. Κλίκ OK για έξοδο από το παράθυρο διαλόγου, τότε θα πρέπει να προσθέσετε το κουμπί μακροεντολής στο Γραμμή εργαλείων γρήγορης πρόσβασης. Στο νέο Μήνυμα παράθυρο, επιλέξτε Περισσότερες εντολές από το Προσαρμογή γραμμής εργαλείων γρήγορης πρόσβασης drop down, δείτε το στιγμιότυπο οθόνης:

6. Στην Επιλογές του Outlook πλαίσιο διαλόγου, κάντε τις ακόλουθες λειτουργίες:

(1.) Επιλέξτε Μακροεντολές από το Επιλέξτε εντολές από αναπτυσσόμενη λίστα

(2.) Κάντε κλικ στο όνομα της μακροεντολής που εισαγάγατε μόλις τώρα.

(3.) Και στη συνέχεια κάντε κλικ Πρόσθεση κουμπί για να προσθέσετε τη μακροεντολή στο Προσαρμογή γραμμής εργαλείων γρήγορης πρόσβασης.

7. Στη συνέχεια κάντε κλικ στο κουμπί OK για να κλείσετε το παράθυρο διαλόγου, τώρα, το κουμπί μακροεντολής έχει εισαχθεί στο Γραμμή εργαλείων γρήγορης πρόσβασης, δείτε το στιγμιότυπο οθόνης:

8. Τώρα, όταν δημιουργείτε νέο μήνυμα και κάνετε κλικ στο κουμπί μακροεντολής, τα ονόματα των συνημμένων θα εισαχθούν πάνω από το σώμα του μηνύματος όπως φαίνεται στο ακόλουθο στιγμιότυπο οθόνης:


Καταχωρίστε όλα τα ονόματα συνημμένων στο σώμα μηνυμάτων κατά τη σύνταξη email με μια απλή λειτουργία

Μπορεί ο παραπάνω κωδικός να είναι κάπως δύσκολο για εσάς να εφαρμόσετε, αν έχετε Kutools για το Outlook, Με τους Αντιγραφή ονομάτων χαρακτηριστικό, μπορείτε να αντιγράψετε γρήγορα τα ονόματα των συνημμένων ενός μηνύματος και να τα επικολλήσετε οπουδήποτε θέλετε.

Σημείωση:Για να το εφαρμόσετε Αντιγραφή ονομάτων, πρώτα, πρέπει να κατεβάσετε το Kutools για το Outlookκαι, στη συνέχεια, εφαρμόστε τη λειτουργία γρήγορα και εύκολα.

Μετά την εγκατάσταση Kutools για το Outlook, κάντε το ως εξής:

1. Αρχικά, δημιουργήστε το νέο email που χρειάζεστε και, στη συνέχεια, κάντε κλικ Kutools > Αντιγραφή ονομάτων στο νέο Μήνυμα παράθυρο, δείτε το στιγμιότυπο οθόνης:

2. Στη συνέχεια, θα εμφανιστεί ένα παράθυρο προτροπής για να σας υπενθυμίσει ότι τα ονόματα των συνημμένων έχουν αντιγραφεί στο πρόχειρο, δείτε το στιγμιότυπο οθόνης:

3. Τώρα, απλά πρέπει να πατήσετε Ctrl + V πλήκτρα μαζί για να επικολλήσετε τα ονόματα των συνημμένων στο σώμα του μηνύματος που χρειάζεστε, δείτε στιγμιότυπο οθόνης:


Σχετικά άρθρα:

  • Απάντηση σε όλα με πρωτότυπα συνημμένα στο Outlook
  • Κανονικά, όταν εφαρμόζετε τη λειτουργία Απάντηση σε όλους για να απαντήσετε το μήνυμα σε όλους τους παραλήπτες στο Outlook, τα αρχικά συνημμένα θα χαθούν αυτόματα. Είναι δυνατόν να επισυνάψετε πρωτότυπα συνημμένα όταν απαντάτε σε όλα στο Outlook;
  • Λήψη/Αποθήκευση συνημμένων από το Outlook σε συγκεκριμένο φάκελο
  • Σε γενικές γραμμές, μπορείτε να αποθηκεύσετε όλα τα συνημμένα ενός email κάνοντας κλικ στα Συνημμένα> Αποθήκευση όλων των συνημμένων στο Outlook. Αλλά, εάν πρέπει να αποθηκεύσετε όλα τα συνημμένα από όλα τα ληφθέντα μηνύματα ηλεκτρονικού ταχυδρομείου και να λάβετε μηνύματα ηλεκτρονικού ταχυδρομείου, είναι ιδανικό; Αυτό το άρθρο θα εισαγάγει δύο λύσεις για αυτόματη λήψη συνημμένων από το Outlook σε έναν συγκεκριμένο φάκελο.
  • Αλλαγή προεπιλεγμένης τοποθεσίας αποθήκευσης συνημμένου στο Outlook
  • Έχετε βαρεθεί να βρίσκετε τη θέση συνημμένου που έχετε καθορίσει κάθε φορά κατά την εκκίνηση του Outlook; Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να αλλάξετε την προεπιλεγμένη θέση συνημμένου. Μετά από αυτό, ο καθορισμένος φάκελος αποθήκευσης συνημμένων θα ανοίγει αυτόματα κάθε φορά που αποθηκεύετε τα συνημμένα ακόμα κι αν κάνετε επανεκκίνηση του Outlook.
  • Καταργήστε όλα τα συνημμένα από το ηλεκτρονικό ταχυδρομείο στο Outlook
  • Συνήθως, όταν κάνετε προεπισκόπηση ενός email, μπορείτε να διαγράψετε ένα συνημμένο με δεξί κλικ και να επιλέξετε το στοιχείο Κατάργηση συνημμένου. Μερικές φορές μπορεί να υπάρχουν πολλά συνημμένα σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου και θα είναι κουραστικό να τα αφαιρέσετε ένα προς ένα. Εδώ σας κανονίζουμε με δύο εύκολα κόλπα για να αφαιρέσετε όλα τα συνημμένα σε ένα email και να αφαιρέσετε όλα τα συνημμένα από πολλά μηνύματα ηλεκτρονικού ταχυδρομείου, καθώς και στο Outlook.

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Kutools για το Outlook - Πάνω από 100 ισχυρές δυνατότητες για υπερφόρτιση του Outlook σας

🤖 Βοηθός αλληλογραφίας AI: Άμεσα επαγγελματικά email με μαγεία AI -- με ένα κλικ για ιδιοφυείς απαντήσεις, τέλειος τόνος, πολυγλωσσική γνώση. Μεταμορφώστε τα email χωρίς κόπο! ...

📧 Αυτοματοποίηση ηλεκτρονικού ταχυδρομείου: Εκτός γραφείου (Διαθέσιμο για POP και IMAP)  /  Προγραμματισμός αποστολής email  /  Αυτόματο CC/BCC βάσει κανόνων κατά την αποστολή email  /  Αυτόματη προώθηση (Σύνθετοι κανόνες)   /  Αυτόματη προσθήκη χαιρετισμού   /  Διαχωρίστε αυτόματα τα μηνύματα ηλεκτρονικού ταχυδρομείου πολλών παραληπτών σε μεμονωμένα μηνύματα ...

📨 Διαχείριση e-mail: Εύκολη ανάκληση email  /  Αποκλεισμός απάτης email από υποκείμενα και άλλους  /  Διαγραφή διπλότυπων μηνυμάτων ηλεκτρονικού ταχυδρομείου  /  Προχωρημένη Αναζήτηση  /  Ενοποίηση φακέλων ...

📁 Συνημμένα ProΜαζική αποθήκευση  /  Αποσύνδεση παρτίδας  /  Συμπίεση παρτίδας  /  Αυτόματη αποθήκευση   /  Αυτόματη απόσπαση  /  Αυτόματη συμπίεση ...

🌟 Διασύνδεση Magic: 😊Περισσότερα όμορφα και δροσερά emojis   /  Ενισχύστε την παραγωγικότητά σας στο Outlook με προβολές με καρτέλες  /  Ελαχιστοποιήστε το Outlook αντί να κλείσετε ...

???? Με ένα κλικ Wonders: Απάντηση σε όλους με εισερχόμενα συνημμένα  /   Email κατά του phishing  /  🕘Εμφάνιση ζώνης ώρας αποστολέα ...

👩🏼‍🤝‍👩🏻 Επαφές & Ημερολόγιο: Μαζική προσθήκη επαφών από επιλεγμένα μηνύματα ηλεκτρονικού ταχυδρομείου  /  Διαχωρίστε μια ομάδα επαφής σε μεμονωμένες ομάδες  /  Κατάργηση υπενθυμίσεων γενεθλίων ...

Διανεμήθηκαν παραπάνω από 100 Χαρακτηριστικά Περιμένετε την εξερεύνηση σας! Κάντε κλικ εδώ για να ανακαλύψετε περισσότερα.

 

 

Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Why am I getting "user-defined type not defined" when I get to Step 8?
This comment was minimized by the moderator on the site
Why am I getting "user-defined type not defined" when I get to Step 8?
This comment was minimized by the moderator on the site
When I do this, it always put the attachments at the beginning of the message, no matter where my cursor is located. I then have to copy/paste to the bottom of the email. Is there a way to change that?
This comment was minimized by the moderator on the site
Hello, VMS,
If you want to put the attachments at the the position of your cursor, please replace the second code with following code:

Public Sub AddAttachmentNamesToBody()

Dim xMailItem As MailItem

Dim xAttachment As Attachment

Dim xFileName As String

Dim xInspector As Outlook.Inspector

Dim xDoc As Word.Document

Dim xWdSelection As Word.Selection

On Error Resume Next

Set xMailItem = Outlook.ActiveInspector.CurrentItem

If xMailItem.Attachments.Count = 0 Then

Exit Sub

End If

xFileName = ""

For Each xAttachment In xMailItem.Attachments

If xFileName = "" Then

xFileName = " <" & xAttachment.FileName & "> "

Else

xFileName = xFileName & vbCrLf & " <" & xAttachment.FileName & "> "

End If

Next xAttachment

Set xInspector = Outlook.Application.ActiveInspector()

Set xDoc = xInspector.WordEditor

Set xWdSelection = xDoc.Application.Selection

xWdSelection.InsertBefore "Attachments: " & vbCrLf & xFileName & vbCrLf & vbCrLf

Set xMailItem = Nothing

End Sub

Please try, hope it can help you!
This comment was minimized by the moderator on the site
That worked! Now another favor... How do I exclude certain file types or names? My required company signature contains a PNG file that I would like to exclude.Thank you!!
This comment was minimized by the moderator on the site
To exclude some specific files, please apply the below code, please try it.
Public Sub AddAttachmentNamesToBody()

Dim xMailItem As MailItem

Dim xAttachment As Attachment

Dim xFileName As String

Dim xInspector As Outlook.Inspector

Dim xDoc As Word.Document

Dim xWdSelection As Word.Selection

Dim xExt As String

Dim xFound As Boolean

Dim xExtArr As Variant

On Error Resume Next

xExtArr = Array("docx", "exe") 'change the file extension you want to exclude

Set xMailItem = Outlook.ActiveInspector.CurrentItem

If xMailItem.Attachments.Count = 0 Then

Exit Sub

End If

xFileName = ""

For Each xAttachment In xMailItem.Attachments

xExt = VBA.Mid(xAttachment.FileName, VBA.InStrRev(xAttachment.FileName, ".") + 1)

xFound = False

For i = LBound(xExtArr) To UBound(xExtArr)

If xExt = xExtArr(i) Then

xFound = True

Exit For

End If

Next

If xFound = False Then

If xFileName = "" Then

xFileName = " <" & xAttachment.FileName & "> "

Else

xFileName = xFileName & vbCrLf & " <" & xAttachment.FileName & "> "

End If

End If

Next xAttachment

Set xInspector = Outlook.Application.ActiveInspector()

Set xDoc = xInspector.WordEditor

Set xWdSelection = xDoc.Application.Selection

xWdSelection.InsertBefore "Attachments: " & vbCrLf & xFileName & vbCrLf & vbCrLf

Set xMailItem = Nothing

End Sub
This comment was minimized by the moderator on the site
when I tried this code it sends the attachment names in every email that has attachments.
I want it to only do it when I click the macro.

How do I amend the code to do just that?
This comment was minimized by the moderator on the site
I also don't know how to fix it. Anyone could hep on that?
This comment was minimized by the moderator on the site
This is wonderful -- thank you! Is there also a way to somehow view all the attachment names in an email that has been sent to you from someone else (i.e. received)? For some reason, the file names are not displaying in full unless you hover, which is ridiculous when you regularly have 15 files to sort through.
This comment was minimized by the moderator on the site
Hello,
To List all attachment names in an received email, please copy and pase the below VBA code into the ThisOutlookSession module of the Microsoft Visual Basic for Applications window:

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim xEIDArr As Variant, xEID As Variant, xItem As Object
Dim xAttachment As Attachment
Dim xFileName As String
On Error Resume Next
xEIDArr = Split(EntryIDCollection, ",")
For Each xEID In xEIDArr
Set xItem = Session.GetItemFromID(xEID)
If xItem.Class = olMail Then
xFileName = ""
For Each xAttachment In xItem.Attachments
If IsEmbeddedAttachment(xAttachment) = False Then
If xFileName = "" Then
xFileName = " " & "<" & xAttachment.FileName & ">"
Else
xFileName = xFileName & "
" & " " & "<" & xAttachment.FileName & ">"
End If
End If
Next xAttachment
If xFileName = "" Then Exit Sub
xFileName = "Attachments: " & "
" & xFileName & "
" & "
"
xItem.HTMLBody = "" & xFileName & "" & xItem.HTMLBody
xItem.Save
End If
Next
Set xItem = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xAttParent As Object
Dim xCID As String, xID As String
Dim xHTML As String
On Error Resume Next
Set xAttParent = Attach.Parent
xCID = ""
xCID = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCID <> "" Then
xHTML = xAttParent.HTMLBody
xID = "cid:" & xCID
If InStr(xHTML, xID) > 0 Then
IsEmbeddedAttachment = True
Else
IsEmbeddedAttachment = False
End If
End If
End Function

After pasting this code, when new emails with attachments arriving in your Outlook, the attachment names will be listed at the top of the message body automatically.
Please try it, hope it can help you!
This comment was minimized by the moderator on the site
this is great. Is there any way to merge this with VMS's request above to exclude some specific files included in signatures (.png, .jpg, etc.)?
This comment was minimized by the moderator on the site
Great, thanks for that. I wonder if it is possible that the list of attachments is only attached when I write to a specific email address?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations