Բաց թողնել հիմնական բովանդակությունը

Ինչպե՞ս ցուցակի բոլոր կցորդների անունները նշել հաղորդագրության մարմնում, Outlook- ում էլ-նամակ կազմելիս:

Outlook- ում էլփոստ ստեղծելու ժամանակ կա՞ն լավ ուղիներ, որպեսզի մենք կցենք բոլոր կցորդների անունները հաղորդագրության մարմնում: Այս հոդվածում ես կխոսեմ այն ​​մասին, թե ինչպես լուծել այս աշխատանքը Outlook- ում:

VBA կոդով էլ-նամակ կազմելու ժամանակ ցուցակի բոլոր կցորդների անունները նշեք հաղորդագրության մարմնում

Ուղարկեք բոլոր կցորդների անունները հաղորդագրության մարմնում `պարզ հատկանիշով էլ-նամակ կազմելիս


VBA կոդով էլ-նամակ կազմելու ժամանակ ցուցակի բոլոր կցորդների անունները նշեք հաղորդագրության մարմնում

Խնդրում ենք անել այս գործողությունն ավարտելու համար հետևյալ քայլերը.

1, Պահեք պահեք ALT + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան.

2, Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, կրկնակի սեղմեք ԱյսOutlookSession- ը - ից Project1 (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 երկխոսության տուփից դուրս գալու համար պետք է ավելացնել մակրո կոճակը Արագ մուտք Գործիքադարակը, Նորում հաղորդագրություն պատուհան, ընտրիր Ավելի շատ հրամաններ - ից Անհատականացրեք Արագ մուտքի Գործիքադարակը բաց թողեք, տես նկարի նկարը.

6, Մեջ Outlook տարբերակները երկխոսության տուփ, կատարեք հետևյալ գործողությունները.

(1.) Ընտրեք Մակրո - ից Ընտրեք հրամաններ բացվող ցուցակ;

(2.) Սեղմեք մակրո անունը, որը դուք տեղադրել եք հենց հիմա;

(3.) Եվ ապա կտտացրեք Ավելացնել կոճակը մակրո մեջ ավելացնելու համար Անհատականացրեք Արագ մուտքի Գործիքադարակը.

7. Այնուհետեւ կտտացրեք OK երկխոսության տուփը փակելու համար այժմ մակրո կոճակը տեղադրվել է մեջ Արագ մուտք Գործիքադարակը, տես նկարի նկարը.

8. Այժմ, երբ ստեղծեք նոր հաղորդագրություն և սեղմեք մակրո կոճակը, հավելվածների անունները կտեղադրվեն հաղորդագրության մարմնի վերևում, ինչպես ցույց է տրված հետևյալ սքրինշոթը.


Ուղարկեք բոլոր կցորդների անունները հաղորդագրության մարմնում `պարզ հատկանիշով էլ-նամակ կազմելիս

Հնարավոր է, որ վերը նշված ծածկագիրը ձեզ համար դժվար է կիրառել, եթե ունեք Outlook- ի համար նախատեսված գործիքներԻր Պատճենել անունները հնարավորություն, դուք կարող եք արագ պատճենել հաղորդագրության կցորդների անունները և տեղադրել դրանք ամենուր, որտեղ ձեզ անհրաժեշտ է:

Նշում:Սա կիրառելու համար Պատճենել անունները, նախ, դուք պետք է ներբեռնեք այն Outlook- ի համար նախատեսված գործիքներ, ապա գործառույթը կիրառեք արագ և հեշտությամբ:

Տեղադրելուց հետո Outlook- ի համար նախատեսված գործիքներԽնդրում եմ արեք հետևյալ կերպ

1. Նախ, խնդրում ենք ստեղծել ձեզ անհրաժեշտ նոր էլ.փոստը, այնուհետև սեղմել Կուտոլս > Պատճենել անունները նորը հաղորդագրություն պատուհան, տես նկարի նկարը.

2. Եվ այնուհետև կհայտնվի հուշման տուփ, որը կհիշեցնի ձեզ, որ հավելվածների անունները պատճենված են սեղմատախտակում, տես սքրինշոթը.

3. Այժմ դուք պարզապես պետք է սեղմեք Ctrl + V ստեղները միասին՝ կցորդների անունները ձեզ անհրաժեշտ հաղորդագրության մարմնին տեղադրելու համար, տես սքրինշոթը՝


Ավելի հարաբերական հոդվածներ.

  • Պատասխանել բոլորին օրիգինալ հավելվածներով Outlook-ում
  • Սովորաբար, երբ կիրառեք «Պատասխանել բոլոր» գործառույթը ՝ Outlook- ի բոլոր հասցեատերերին հաղորդագրությունը պատասխանելու համար, բնօրինակ կցորդները կկորչեն ինքնաբերաբար: Հնարավո՞ր է Outlook- ում բոլորին պատասխանելիս կցել բնօրինակ կցորդներ:
  • Ներբեռնեք/Պահեք հավելվածները Outlook-ից որոշակի թղթապանակում
  • Ընդհանուր առմամբ, դուք կարող եք պահպանել մեկ էլփոստի բոլոր կցորդները կտտացնելով Կցորդներ> Պահել բոլոր կցորդները Outlook- ում: Բայց, եթե Ձեզ անհրաժեշտ է բոլոր կցորդները պահպանել ստացված բոլոր էլ-նամակներից և էլ. Նամակներ ստանալուց, որևէ իդեալ: Այս հոդվածը կներկայացնի երկու լուծում `Outlook- ից որոշակի թղթապանակում կցորդները ավտոմատ կերպով ներբեռնելու համար:
  • Փոխեք կանխադրված կցորդի պահման վայրը Outlook- ում
  • Ձանձրացե՞լ եք Outlook- ը գործարկելիս ամեն անգամ նշած կցորդի գտնվելու վայրը գտնելու հարցում: Այս ձեռնարկում մենք ձեզ ցույց կտանք, թե ինչպես փոխել հավելվածի լռելյայն տեղը: Դրանից հետո նշված կցորդի պահպանման թղթապանակը ավտոմատ կերպով կբացվի ամեն անգամ կցորդները պահպանելիս, չնայած Outlook- ը վերագործարկում եք:
  • Հեռացրեք բոլոր հավելվածները էլփոստից Outlook-ում
  • Սովորաբար, երբ դուք նախադիտում եք նամակ, կարող եք ջնջել հավելվածը աջ սեղմելով և ընտրել «Հեռացնել առդիրը»: Երբեմն էլփոստի հաղորդագրության մեջ կարող են լինել բազմաթիվ հավելվածներ, և դրանք մեկ առ մեկ հեռացնելը հոգնեցուցիչ կլինի: Այստեղ մենք կազմակերպում ենք ձեզ երկու հեշտ հնարքներ՝ հեռացնելու բոլոր հավելվածները մեկ էլ.

Գրասենյակի արտադրողականության լավագույն գործիքները

Outlook- ի համար նախատեսված գործիքներ - Ավելի քան 100 հզոր գործառույթ՝ ձեր Outlook-ը լիցքավորելու համար

🤖 AI Փոստի օգնական: Ակնթարթային պրոֆեսիոնալ նամակներ AI մոգությամբ. մեկ սեղմումով հանճարեղ պատասխաններ, կատարյալ հնչերանգներ, բազմալեզու վարպետություն: Փոխակերպեք էլ. փոստը առանց ջանքերի: ...

📧 Email ավտոմատացում: Գրասենյակից դուրս (հասանելի է POP-ի և IMAP-ի համար)  /  Ժամանակացույց ուղարկել նամակներ  /  Ավտոմատ CC/BCC էլփոստ ուղարկելիս կանոններով  /  Ավտոմատ փոխանցում (Ընդլայնված կանոններ)   /  Ավտոմատ ավելացնել ողջույնները   /  Ավտոմատ կերպով բաժանել բազմասերիստացող նամակները առանձին հաղորդագրությունների ...

📨 էլեկտրոնային կառավարման: Հեշտությամբ հիշեք նամակները  /  Արգելափակել խարդախության նամակները ըստ առարկաների և այլոց  /  Deleteնջել կրկնօրինակ նամակները  /  Ընդլայնված որոնում  /  Համախմբել Թղթապանակները ...

📁 Հավելվածներ ProԽմբաքանակի պահպանում  /  Խմբաքանակի անջատում  /  Խմբաքանակային կոմպրես  /  Auto Save- ը   /  Ավտոմատ անջատում  /  Ավտոմատ սեղմում ...

🌟 Ինտերֆեյս Magic: 😊Ավելի գեղեցիկ և զով էմոջիներ   /  Բարձրացրեք ձեր Outlook-ի արտադրողականությունը ներդիրներով դիտումների միջոցով  /  Նվազագույնի հասցնել Outlook-ը փակելու փոխարեն ...

???? Մեկ սեղմումով Հրաշքներ: Պատասխանել բոլորին մուտքային հավելվածներով  /   Հակաֆիշինգի էլ. նամակներ  /  🕘Ցուցադրել ուղարկողի ժամային գոտին ...

👩🏼‍🤝‍👩🏻 Կոնտակտներ և օրացույց: Խմբաքանակի ավելացրեք կոնտակտներ ընտրված էլ  /  Կոնտակտային խումբը բաժանեք առանձին խմբերի  /  Հեռացնել ծննդյան հիշեցումները ...

Over 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