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

Excel ձեռնարկ – Ուղարկեք նամակներ Excel-ից

Սովորաբար մենք օգտագործում ենք էլփոստի սպասառուներ, ինչպիսիք են Outlook-ը, Gmail-ը և այլն՝ նամակներ ուղարկելու համար: Սակայն շատ մարդիկ տվյալները պահում են Excel-ի աշխատանքային գրքույկներում և պետք է որոշ տվյալներ ուղարկեն մյուսներին, մինչ նրանք աշխատում են դրա հետ: Հետևաբար, նրանք պետք է նամակներ ուղարկեն անմիջապես Excel աշխատանքային գրքույկից, ինչը խնայում է էլփոստի հաճախորդի շահագործման ժամանակը: Այս քայլ առ քայլ ձեռնարկը ցույց կտա ձեզ, թե ինչպես ուղարկել նամակներ Excel-ից տարբեր պայմաններում:

ՆշումՆախքան հետևյալ մեթոդները կիրառելը, դուք պետք է կարգավորեք Outlook էլփոստի հաճախորդը ձեր համակարգչում և սահմանեք այն որպես ձեր լռելյայն էլփոստի հաճախորդ:

Բովանդակություն: [Թաքցնել]

(Սեղմեք ստորև բերված բովանդակության աղյուսակի ցանկացած վերնագրի վրա կամ աջ կողմում՝ համապատասխան գլուխ նավարկելու համար:)

1. Excel-ից նամակներ ուղարկելու հիմունքները

Այս բաժինը ներկայացնում է Excel-ից նամակներ ուղարկելու հիմունքները:

1.1 Ուղարկեք նամակներ Excel-ից Excel-ի ներկառուցված գործառույթներով

Եթե ​​ցանկանում եք միայն պարզ նամակներ ուղարկել Excel-ից, ներառյալ միայն To, Subject, Cc և body դաշտերը: Excel-ում ներկառուցված գործառույթները կարող են օգնել:


1.1.1 Ուղարկեք նամակ Excel-ից բանաձևով

Ինչպես ցույց է տրված ստորև բերված աղյուսակում, Excel-ից տարբեր նամակներ ուղարկելու համար՝ հիմնված տվյալ դաշտերի վրա, կարող եք օգտագործել տվյալ դաշտերի բջիջների հղումները՝ ստեղծելու Hyperlink-ի տարբեր բանաձևեր՝ այն իրականացնելու համար: Էլփոստի հիպերհղումները ստեղծելուց հետո կարող եք սեղմել այն հիպերհղման վրա, որն անհրաժեշտ է ավտոմատ նամակ ուղարկելու համար:

Նշում: Եթե ​​մեկից ավելի ստացող կա To կամ Cc դաշտերում, խնդրում ենք դրանք առանձնացնել կետ-ստորակետերով:

Այս բաժինը բաժանված է չորս մասի, որպեսզի ցույց տա ձեզ Hyperlink բանաձևին առանձին էլփոստի հասցեն, Cc ստացող(ներ), թեմայի գիծ և հիմնական տեքստ ավելացնելու քայլերը: Խնդրում ենք անել հետևյալը.

-ի շարահյուսությունը և փաստարկները ՀԻՊԵՐԼԻՆԿ գործառույթը հետևյալն է.

շարահյուսություն

HYPERLINK(link_location, [friendly_name])

Արձանագրություններ

Հղում_տեղադրում (պահանջվում է). Բացվող փաստաթղթի ուղին և ֆայլի անվանումը.
Խորհուրդներ. Այս ձեռնարկում բոլոր այն դաշտերը, որոնք մեզ անհրաժեշտ են էլ.փոստի համար, ինչպիսիք են ստացողի էլ. հասցեն, Cc հասցեատերը, վերնագրի տողը և հիմնական տեքստը, պետք է տեղադրվեն «link_location» առաջին արգումենտում:
Friendly_name (ըստ ցանկության)՝ ցատկի արժեքը, որը ցուցադրվում է բջիջում:

1.1.1.1 Ավելացնել էլփոստի հասցեն Hyperlink բանաձևին

Այստեղ մենք օգտագործում ենք "mailto:" որպես էլփոստի ստացող ավելացնելու բանաձևի մաս: Այս օրինակում առաջին ստացողի էլ.փոստի հասցեն գտնվում է B2 բջիջում, ուստի մենք պետք է ավելացնենք «mailto:» և այն հղում կատարենք B2 բջիջին:

«mailto:»&B2

1. Ընտրեք բջիջ՝ հիպերհղումը ցուցադրելու համար: Այս դեպքում ես ընտրում եմ F2 բջիջը:

2. Այնուհետև դրա մեջ մուտքագրեք հետևյալ բանաձևը.

=HYPERLINK("mailto:"&B2)

ՆշումԵթե ​​սեղմեք կոճակը Մտնել բանալին, կստեղծվի հիպերհղում, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում: Երբ սեղմում եք հղումը, Outlook-ի էլ.

Ստացողի էլ.փոստի հասցեն այժմ ավելացվել է Hyperlink բանաձևին: Խնդրում ենք շարունակել հետևյալ քայլերը՝ ըստ անհրաժեշտության ավելացնելու թեմայի տողը, Cc ստացող(ներ)ը և հիմնական տեքստը:


1.1.1.2 Ավելացնել Cc ստացող(ներ) Hyperlink բանաձևին

Հիպերհղման գործառույթին Cc ստացող(ներ) ավելացնելու համար խնդրում ենք ավելացնել "?cc=" որպես բանաձևի մաս հետևյալ կերպ.

"?cc=" & C2
որտեղ C2-ը պարունակում է cc ստացողի էլ.փոստի հասցեն:

F2 բջիջի բանաձևը պետք է լինի հետևյալը.

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 Ավելացնել թեմայի տողը Hyperlink բանաձևին

Հիպերհղման գործառույթին թեմայի տողը ավելացնելու համար խնդրում ենք ավելացնել «&subject=" որպես բանաձևի մաս հետևյալ կերպ.

«&subject="& D2
որտեղ C2-ը պարունակում է էլփոստի թեման:

F2 բջիջի բանաձևն այժմ պետք է նման լինի հետևյալին.

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 Ավելացրեք հիմնական տեքստը տողերի ընդմիջումներով Hyperlink բանաձեւին

Վերջին քայլը մարմնի տեքստը Hyperlink բանաձևին ավելացնելն է: Ինչպես տեսնում եք օրինակում, E2-ում տեքստի երկու տողերը բաժանված են տողերի ընդմիջումով, և դուք ցանկանում եք պահպանել տողի ընդմիջումը էլփոստի մարմնում: Արդյո՞ք Outlook-ը ճանաչում է գծի ընդմիջումը այս պարագայում: Եկեք ստուգենք դրա համար:

Հիմնական տեքստը Hyperlink բանաձևին ավելացնելու համար անհրաժեշտ է ավելացնել «&մարմին=» որպես բանաձևի մաս հետևյալ կերպ.

«&body="& E2
որտեղ E2-ը պարունակում է նամակի հիմնական տեքստը:

F2 բջիջի բանաձևն այժմ ցուցադրվում է հետևյալ կերպ.

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

Նշում: Եթե ​​դուք սեղմեք Մտնել բանալին և սեղմեք հղման վրա: Դուք կարող եք տեսնել նոր նամակում, որ էլփոստի մարմնի բովանդակությունը ցուցադրվում է նույն տողում:

Էլփոստի մարմինը առանձին տողերով ցուցադրելու համար անհրաժեշտ է փոփոխել բջջային բովանդակությունը՝ ավելացնելով փոխադրման վերադարձի նիշերի կոդը: %0A տեքստին, որտեղ դուք պետք է տեղադրեք տողերի ընդմիջում: Տես սքրինշոթը.


1.1.1.5 Նշեք հիպերհղման համար ցուցադրվող տեքստը

Վերոնշյալ քայլերում մենք ավարտեցինք Link_location փաստարկը էլփոստի դաշտերով: Այստեղ այս բաժնում մենք պատրաստվում ենք ավարտել հաջորդ փաստարկը [friendly_name]:

Այս դեպքում ես ցանկանում եմ, որ հիպերհղման բջիջը ցուցադրի տեքստը որպես «Փոստ xx-ին», որտեղ xx-ը A2-ում ստացողի անունն է: Այսպիսով, F2-ի բանաձևը պետք է փոխվի հետևյալի.

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

Սեղմեք Մտնել արդյունքը ստանալու բանալին:

Ընտրեք այս բանաձևի բջիջը և քաշեք այն Ավտոմատ լրացման բռնակ ներքեւ՝ էլփոստի այլ հիպերհղումներ ստեղծելու համար: Տես սքրինշոթը.


1.1.2 Ուղարկեք նամակ Excel-ից Hyperlink գործառույթով

Բացառությամբ վերը նշված Hyperlink բանաձևի օգտագործման, դուք կարող եք ձեռքով ստեղծել էլ Տեղադրել Գերկապի գործառույթ Excel-ում: Այս բաժինը պատրաստվում է ցույց տալ ձեզ քայլերը:

1. Աջ սեղմեք էլփոստի վրա, որտեղ ցանկանում եք տեղադրել հիպերհղում, ընտրեք կապ աջ կտտացնելու ցանկից:

2. Պատուհանման մեջ Տեղադրեք Hyperlink երկխոսության տուփ, դուք պետք է կազմաձևեք հետևյալը.

2.1) Ընտրեք E-mail հասցե ձախ թաղամասում:
2.2) Ի Textուցադրման տեքստ textbox, մուտքագրեք տեքստը, որը ցանկանում եք ցուցադրել բջիջում;
TipsԴուք չեք կարող օգտագործել բջջային հղումներ այս երկխոսության վանդակում, այնպես որ դուք պետք է ձեռքով մուտքագրեք էլփոստի դաշտերը հետևյալ կերպ:
2.3) Ի E-mail հասցե textbox, դուք պետք է մուտքագրեք հետևյալ էլփոստի հասցեները.
mailto:էլփոստի հասցե
Խնդրում ենք փոխարինել տեքստը «փոստի հասցենՁեր իրական էլ. հասցեով: Եթե ​​դուք ունեք մեկից ավելի էլփոստի հասցե, դրանք բաժանեք ստորակետով:
2.4) Ի Առարկա textbox, դուք կարող եք նշել ձեր էլփոստի թեման և էլփոստի տեքստը հենց այստեղ: Խնդրում ենք կարգավորել հետևյալ կերպ.
Email subject&body=Email body
Այս դեպքում ես մուտքագրում եմ Ամսական վաճառք&body=Ողջույն,%0AEmail ստացվեց.
> որտեղ առարկան Ամսական վաճառք է.
և
> էլփոստի մարմինն է.
Ողջու՜յն,
Էլփոստը ստացվել է: (%0A Փոխադրման վերադարձի նիշերի կոդը, որը կարող է ճանաչվել Outlook-ի կողմից)
2.5) Կտտացրեք այն OK կոճակը՝ հիպերհղումը պահպանելու համար: Տեսեք սքրինշոթը՝

Երբ սեղմում եք հիպերհղման վրա, Outlook-ի էլ.փոստը կստեղծվի նշված Դեպի, Թեմա և Մարմնի դաշտերով, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում:

Notes:

1) Այս մեթոդով դուք պետք է ստեղծեիք էլփոստի հիպերհղումները յուրաքանչյուրը ձեռքով:
2) Այս մեթոդով դուք չեք կարող ավելացնել Cc դաշտը նամակներին: Այսպիսով, եթե Ձեզ անհրաժեշտ է Cc դաշտը, խնդրում ենք ավելացնել այն նոր բացվող էլփոստի պատուհանից:

1.2 Նամակ ուղարկեք բազմաթիվ հասցեատերերի VBA սկրիպտով բջիջներում

Վերոնշյալ օրինակում դուք կարող եք տեսնել, որ մի քանի էլփոստի հասցեներ ցուցադրվում են մի բջիջում՝ բաժանված կետ-ստորակետերով: Եթե ​​դուք ունեք էլփոստի հասցեների ցանկ, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում և ցանկանում եք էլեկտրոնային նամակ կամ անկախ էլփոստ ուղարկել նրանց բոլորին, ապա հետևյալ VBA կոդը կարող է ձեզ լավություն անել:


1.2.1 Ուղարկեք նամակ բազմաթիվ հասցեատերերի VBA սկրիպտով բջիջներում

1. Աշխատանքային թերթում, որը պարունակում է բոլոր էլ. հասցեները, որոնց ցանկանում եք ուղարկել նամակը: Սեղմեք ալտ + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան.

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլ, և այնուհետև տեղադրեք հետևյալ կոդը մեջ Մոդուլ (կոդ) պատուհան.

VBA կոդ. Ուղարկեք էլփոստի հասցեների ցանկ

Sub sendmultiple()
'updateby Extendoffice 20220802
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3. Սեղմեք F5 կոդը գործարկելու բանալին և ա Excel- ի համար նախատեսված գործիքներ երկխոսության տուփը հայտնվում է: Ընտրեք էլփոստի հասցեների ցանկը և սեղմեք OK.

Նշումներ:

1) Եթե չեք ցանկանում, որ վերը նշված երկխոսության տուփը հայտնվի և ցանկանում եք ուղղակիորեն նշել էլփոստի հասցեների շրջանակը կոդում, խնդրում ենք փոխարինել այս տողը.
Սահմանել xRg = Application.InputBox («Խնդրում ենք ընտրել հասցեների ցանկը.», «Kutools for Excel», xTxt, , , , , 8)
հետ
Սահմանել xRg = միջակայք («A2:A7»)
2) Դուք կարող եք նշել ձեր սեփական էլ.փոստի թեման և կառուցվածքը հետևյալ տողերում.
.Subject = «Թեստ»
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Էլփոստն ուղղակիորեն ուղարկելու համար՝ առանց հետևյալ նոր հաղորդագրության պատուհանը բացելու, դուք պետք է փոխարինեք այս տողը.
.Dուցադրել
հետ
.Ուղարկել

Կոդը գործարկելուց հետո ընտրված տիրույթի բոլոր էլփոստի հասցեները ցուցադրվում են հաղորդագրության պատուհանի Դեպի դաշտում: Տեսեք սքրինշոթը՝


1.2.2 Առանձին նամակներ ուղարկեք VBA սկրիպտով բջիջներում թվարկված յուրաքանչյուր ստացողի

Վերոնշյալ կոդը ընտրված տիրույթի բոլոր էլփոստի հասցեներն ավելացնում է հաղորդագրության պատուհանի Դեպի դաշտում: Եթե ​​ցանկանում եք նամակներ ուղարկել բջիջներում նշված յուրաքանչյուր էլփոստի հասցեին՝ առանց թույլ տալու նրանց տեսնել միմյանց էլփոստի հասցեները, կարող եք փորձել հետևյալ VBA սկրիպտը:

1. Աշխատանքային թերթում, որը պարունակում է բոլոր էլփոստի հասցեները, որոնց ցանկանում եք ուղարկել նամակները: Սեղմեք ալտ + F11 բանալիներ բացեք Microsoft Visual Basic հավելվածների պատուհանը.

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներ, այնուհետև տեղադրեք հետևյալ կոդը Module (Code) պատուհանում:

VBA կոդ․ նամակներ ուղարկեք բջիջներում նշված յուրաքանչյուր էլ․ հասցեին առանձին

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

3. Այնուհետեւ կտտացրեք Գործիքներ > Հղումներով. Է Հղումներ - VBAP նախագիծ երկխոսության տուփ, գտեք և ստուգեք Microsoft Outlook 16.0 օբյեկտների գրադարան տուփը եւ սեղմեք այն OK փոփոխությունները փրկելու համար:

4. Սեղմեք F5 կոդը գործարկելու բանալին և ա Excel- ի համար նախատեսված գործիքներ երկխոսության տուփը հայտնվում է: Ընտրեք էլփոստի հասցեների ցանկը և սեղմեք OK.

Նշումներ:

1) Եթե չեք ցանկանում, որ վերը նշված երկխոսության տուփը հայտնվի և ցանկանում եք ուղղակիորեն նշել էլփոստի հասցեների շրջանակը կոդում, խնդրում ենք փոխարինել այս տողը.
Սահմանել xRg = Application.InputBox («Խնդրում ենք ընտրել հասցեների ցանկը.», «Kutools for Excel», xTxt, , , , , 8)
հետ
Սահմանել xRg = միջակայք («A2:A7»)
2) Դուք կարող եք նշել ձեր սեփական էլ.փոստի թեման և կառուցվածքը հետևյալ տողերում.
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Անմիջապես էլփոստ ուղարկելու համար՝ առանց հետևյալ հաղորդագրության պատուհանները բացելու, դուք պետք է փոխարինեք այս տողը.
.Dուցադրել
հետ
.Ուղարկել

Այս օրինակում ընտրված տիրույթում կան վեց էլփոստի հասցեներ, ուստի Outlook-ի հաղորդագրության վեց պատուհան ավտոմատ կերպով կստեղծվի առանձին էլփոստի հասցեով, որը նշված է Դեպի դաշտում, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում:

5. Վերջապես կտտացրեք ուղարկել կոճակը՝ նամակը մեկ առ մեկ ուղարկելու համար:


2. Տեղադրեք հավելվածները կամ Outlook-ի ստորագրությունը Excel-ից ուղարկված նամակներում (VBA սկրիպտներով)

Այս բաժինը ձեզ ցույց կտա, թե ինչպես տեղադրել հավելվածներ կամ Outlook-ի լռելյայն ստորագրությունը Excel-ից ուղարկված նամակներում:

2.1 Տեղադրեք հավելվածներ Excel-ից ուղարկված նամակներում

Այստեղ մենք նկարագրում ենք հավելվածների տեղադրման տարբեր դեպքեր, և դուք կարող եք ընտրել մեթոդը՝ ըստ ձեր կարիքների: Այս բաժնում դուք կարող եք սովորել (սեղմեք հետևյալ հղման վրա՝ համապատասխան մեթոդը նավարկելու համար).


2.1.1 Ուղարկել որոշակի ֆայլ որպես հավելված

Դուք կարող եք կիրառել հետևյալ VBA կոդը՝ թղթապանակում մեկ կամ մի քանի ֆայլ ուղարկելու համար Excel-ից հավելվածների տեսքով:

1. Սեղմեք ալտ + F11 ստեղները:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներ. Այնուհետև տեղադրեք հետևյալ VBA կոդը Module (Code) պատուհանում:

VBA կոդ. Էլփոստի ֆայլերը թղթապանակում որպես հավելված Excel-ից

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = ""
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Notes:

1) տողում .Դեպի = , խնդրում եմ փոխարինել ձեր սեփական ստացողի էլ. հասցեով;
2) տողում փոխեք էլփոստի թեման և էլփոստի տեքստը .Tubject = "թեստ" և .HTMLBody = "փորձարկում";
3) Դուք կարող եք ավելացնել Cc և Bcc հասցեատերեր ըստ անհրաժեշտության: Պարզապես ավելացրեք հետևյալ երկու տողերը տողի տակ:Դեպի = .
.CC = «էլ․ հասցե»
.BCC = «էլ․ հասցե»

3. Այնուհետեւ կտտացրեք Գործիքներ > Հղումներով. Է Հղումներ - VBAP նախագիծ երկխոսության տուփ, գտեք և ստուգեք Microsoft Outlook 16.0 օբյեկտների գրադարան տուփը եւ սեղմեք այն OK փոփոխությունները փրկելու համար:

4. Սեղմեք F5 կոդը գործարկելու բանալին, ապա ա Թերթել պատուհանը բացվում է, խնդրում ենք ընտրել այն ֆայլերը, որոնք անհրաժեշտ է կցել նամակում, այնուհետև սեղմել OK.

Այնուհետև հայտնվում է հաղորդագրության պատուհան: Դուք կարող եք տեսնել, որ ընտրված ֆայլերը ցուցադրվում են որպես հավելված կցված դաշտում:


2.1.2 Ուղարկել ընթացիկ աշխատաթերթը որպես հավելված

Եթե ​​ցանկանում եք էլեկտրոնային փոստով ուղարկել ընթացիկ աշխատաթերթը որպես հավելված Excel-ից, կարող եք կիրառել VBA սկրիպտը այս բաժնում:

1. Սեղմեք ալտ + F11 ստեղները:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք տեղադրել > Մոդուլներ. Այնուհետև տեղադրեք հետևյալ VBA կոդը մեջ Մոդուլ (կոդ) պատուհան.

VBA կոդ. ուղարկել ընթացիկ աշխատաթերթը որպես հավելված

Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

Նշումներ:

1) տողում.Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) տողում փոխեք էլփոստի թեման և էլփոստի տեքստը .Tubject = "kte հատկությունները" և .Body = « Խնդրում ենք ստուգել և կարդալ այս փաստաթուղթը։;
3) Հետևյալ երկու տողերով.
.CC = «էլ․ հասցե»
.BCC = «էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «փոստի հասցեն» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

3. Սեղմեք F5 կոճակը գործարկելու համար, այնուհետև ընթացիկ աշխատաթերթը պահվում է որպես Excel աշխատանքային գիրք և ավտոմատ կերպով տեղադրվում է հաղորդագրության պատուհանում՝ որպես հավելված: Տեսեք սքրինշոթը՝

Նշում: Կցված աշխատանքային գրքույկը, որը պարունակում է միայն ընթացիկ աշխատաթերթը, ունի նույն անվանումը, ինչ օրիգինալ աշխատանքային գրքույկը: Իսկ կոդը գործարկելու ժամանակը ավելացվում է նաև աշխատանքային գրքի անվանմանը:


2.1.3 Ուղարկել ընթացիկ աշխատանքային գրքույկը որպես հավելված

Excel-ից ընթացիկ աշխատաթերթը որպես կցորդ էլ. Խնդրում ենք անել հետևյալը.

1. Սեղմեք ալտ + F11 ստեղները:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլ. Այնուհետև տեղադրեք հետևյալ VBA կոդը Module (Code) պատուհանում:

VBA կոդ. Ուղարկել ընթացիկ աշխատանքային գիրքը որպես հավելված Excel-ից

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Նշումներ:

1) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) տողում փոխեք էլփոստի թեման և էլփոստի տեքստը .Tubject = "kte հատկությունները" և .Body = « Խնդրում ենք ստուգել և կարդալ այս փաստաթուղթը։;
3) Հետևյալ երկու տողերով.
.CC = «էլ․ հասցե»
.BCC = «էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «փոստի հասցեն» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

3. Սեղմեք F5 կոճակը գործարկելու համար, այնուհետև ընթացիկ աշխատանքային գիրքը ավտոմատ կերպով տեղադրվում է հաղորդագրության պատուհանում՝ որպես հավելված: Տեսեք սքրինշոթը՝


2.1.4 Ուղարկել ամբողջ աշխատանքային գրքույկը որպես PDF հավելված

Մարդկանց մեծամասնության համար նրանք հակված են պահպանել Excel-ի աշխատանքային գիրքը որպես PDF ֆայլ, այնուհետև ուղարկել այն որպես հավելված ուրիշներին: Այս բաժնում ես ձեզ ցույց կտամ ինչպես ուղարկել նամակներ անմիջապես Excel-ից ընթացիկ բաց աշխատանքային գրքույկով որպես PDF հավելված՝ առանց աշխատանքային գիրքը որպես PDF ֆայլ ձեռքով պահելու անհրաժեշտության:

1. Սեղմեք ալտ + F11 ստեղները:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլ. Այնուհետև տեղադրեք հետևյալ VBA կոդը Module (Code) պատուհանում:

VBA կոդ. Ուղարկել ամբողջ աշխատանքային գիրքը որպես PDF հավելված

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = ""
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

Նշումներ:

1) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) տողում փոխեք էլփոստի թեման և էլփոստի տեքստը .Tubject = "թեստ" և Մարմին = «թեստ»;
3) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:
4) PDF ֆայլի անվանումը կլինի նույնը, ինչ բնօրինակ աշխատանքային գրքի անվանումը: Իսկ կոդը գործարկելու ժամանակը նույնպես կավելացվի աշխատանքային գրքի անվանմանը: Եթե ​​ֆայլի անվան մեջ ժամանակի դրոշմ ավելացնելու կարիք չունեք, խնդրում ենք հեռացնել & Ձևաչափ (Այժմ՝ «dd-mmmm-yy h-mm-ss») հետևյալ տողից.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Հիմա, "dd-mmmm-yy h-mm-ss") & ".pdf «

3. Սեղմեք F5 կոդը գործարկելու բանալին: Այնուհետև ընթացիկ աշխատանքային գիրքը ավտոմատ կերպով տեղադրվում է նոր հաղորդագրության պատուհանում՝ որպես PDF ֆայլի հավելված: Տես սքրինշոթը.


2.1.5 Ուղարկել ընթացիկ աշխատաթերթը որպես PDF հավելված

Օրինակ, կա «Ամսական վաճառք» անունով աշխատանքային գրքույկ, և դուք ավարտել եք վաճառքի հաշվետվությունների աղյուսակը «վաճառքի հաշվետվություն» անունով աշխատաթերթում և ցանկանում եք ուղարկել այս աշխատաթերթը որպես PDF ֆայլ ձեր գործընկերներին: Հետևյալ VBA կոդը կարող է ձեզ լավություն անել:

1. Սեղմեք ալտ + F11 ստեղները:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք տեղադրել > Մոդուլ. Այնուհետև տեղադրեք հետևյալ VBA կոդը Module (Code) պատուհանում:

VBA կոդ. ուղարկել ընթացիկ աշխատաթերթը որպես PDF հավելված

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Նշումներ:

1) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) տողում փոխեք էլփոստի թեման և էլփոստի տեքստը .Tubject = "թեստ" և Մարմին = «թեստ»;
3) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:
4) PDF ֆայլի անվանումը կլինի. բնօրինակ աշխատանքային գրքի անվանումը_բնօրինակ աշխատաթերթի անվանումը. Այս դեպքում PDF-ի անունը կլինի Ամսական վաճառքի_վաճառքի հաշվետվություն:

3. Սեղմեք F5 կոդը գործարկելու բանալին: Այնուհետև ընթացիկ աշխատաթերթը ավտոմատ կերպով տեղադրվում է նոր հաղորդագրության պատուհանում՝ որպես PDF ֆայլի հավելված: Տես սքրինշոթը.


2.2 Տեղադրեք Outlook-ի ստորագրությունը Excel-ից ուղարկված նամակներում

Վերցրեք վերը նշված դեպքը որպես օրինակ, դուք կիրառում եք վերը նշված VBA կոդը՝ ընթացիկ աշխատաթերթը որպես PDF ֆայլի հավելված Excel-ից ուղարկելու համար, սակայն Outlook-ի ստորագրությունը չի կարող ավելացվել հաղորդագրության պատուհանին: Excel-ից ուղարկված նամակում Outlook-ի լռելյայն ստորագրությունը պահպանելու համար կօգնի հետևյալ մեթոդը.

Երկու VBA կոդերը թվարկված են ստորև:

VBA կոդ 1. Կոդն օգնում է պահպանել Outlook-ի ստորագրությունը:

VBA կոդ 2. Կոդն օգնում է ուղարկել ընթացիկ աշխատաթերթը որպես PDF հավելված:

VBA կոդ 1. Պահպանեք Outlook-ի ստորագրությունը

.HTMLBody = "Email body" & "
" & .HTMLBody

VBA կոդ 2. Ուղարկել ընթացիկ աշխատաթերթը որպես PDF հավելված

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

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

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներ. Այնուհետև տեղադրեք վերը նշված VBA կոդը 2-ը Module (Code) պատուհանում:

3. Excel-ից ուղարկված նամակում Outlook-ի լռելյայն ստորագրությունը պահպանելու համար դուք պետք է փոփոխեք VBA կոդը 2-ը հետևյալ կերպ.

1) փոխարինել .Մարմին հետ գիծ VBA կոդ 1;
2) Տեղափոխեք գիծը .Dուցադրել գծի տակ OutlookMail-ով (կամ xMailOut-ով այլ կոդերով), Տեսեք,

Ահա ամբողջական կոդը փոփոխությունից հետո:

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody .Attachments.Add FileName '.Send End With Kill FileName Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

4. Սեղմեք F5 կոդը գործարկելու բանալին: Այնուհետև դուք կստանաք նոր հաղորդագրության պատուհան, որի ընթացիկ աշխատաթերթը կցված է որպես PDF ֆայլ, մինչդեռ Outlook-ի լռելյայն ստորագրությունը ավտոմատ կերպով կտեղադրվի էլփոստի մարմնի վերջում:


3. Ավտոմատ կերպով նամակներ ուղարկել Excel-ից, երբ պայմանը բավարարված է (VBA սկրիպտներով)

Վերոնշյալ օրինակներում դուք պետք է գործարկեք կոդը ձեռքով, որպեսզի հասնեք էլփոստի առաքմանը: Եթե ​​ցանկանում եք ավտոմատ կերպով գործարկել կոդը, երբ բավարարվում է որոշակի պայման, օրինակ, երբ բջիջը հասնում է որոշակի արժեքի, երբ փոխվում է բջիջի արժեքը, երբ հասնում է ամսաթիվը և այլն, էլփոստը ավտոմատ կերպով կուղարկվի: Այս բաժնում թվարկված են այն պայմանները, որոնք Excel-ի օգտատերերը հաճախ որոնել են Google-ում, որպեսզի օգնեն ձեզ ավտոմատ կերպով էլփոստ ուղարկել Excel-ից, երբ որոշակի պայման կատարվում է:

3.1 Ավտոմատ կերպով նամակ ուղարկել, երբ բջիջը հասնում է որոշակի արժեքի

Ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, ենթադրենք, որ դուք ունեք վաճառքի աղյուսակ D6 բջիջով, որը պարունակում է վաճառքի ընդհանուր գումարը: Դուք ցանկանում եք ավտոմատ կերպով էլ-նամակ ուղարկել ձեր ղեկավարին՝ վաճառքի ընդհանուր գումարի հիման վրա, օրինակ՝ ավտոմատ կերպով ստեղծեք կամ ուղարկեք էլ.

1. Աշխատանքային թերթիկը պարունակում է վաճառքի աղյուսակ, աջ սեղմեք թերթի ներդիրին և սեղմեք Դիտել կոդը աջ կտտացնելու ցանկից:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանում տեղադրեք հետևյալ VBA կոդը Թերթ (կոդ) պատուհան.

VBA կոդ. Ավտոմատ կերպով նամակ ուղարկեք, երբ բջիջը հասնում է որոշակի արժեքի Excel-ում

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

Notes:

1) D6 այն բջիջն է, որի արժեքի հիման վրա դուք նամակ կուղարկեք:
2) > 10000 պայման է, ինչը նշանակում է, որ նամակ կուղարկվի, երբ D6-ի արժեքը 10000-ից մեծ է:
3) Շրջանակ («D6») Հետևյալ տողում նշանակում է, որ էլփոստի մարմինը հղում կտա D6-ի արժեքին:
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
5) Փոխեք էլփոստի թեման տողում .Tubject = "թեստ".
6) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

Այսուհետ, երբ D6 բջիջի արժեքը գերազանցի 10000-ը, կստեղծվի նամակ, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում:


3.2 Ավտոմատ նամակ ուղարկել, երբ բջջային արժեքը փոխվում է

Ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, ենթադրենք, որ դուք ստանում եք աշխատանքային գրքույկ, որը պարունակում է ամսական վաճառք տարբեր աշխատաթերթերում և վաճառքի ընդհանուր ծավալը աշխատաթերթում: Դուք պետք է ստուգեք վաճառքի ընդհանուր գումարը, և եթե վաճառքի ընդհանուր գումարը փոփոխված է, աշխատանքային գրքույկը հետ ուղարկեք ուղարկողին և տեղեկացրեք ուղարկողին, որ բջիջը փոփոխվել է:

1. Աշխատանքային թերթիկը պարունակում է վաճառքի աղյուսակ, աջ սեղմեք թերթի ներդիրին և սեղմեք Դիտել կոդը աջ կտտացնելու ցանկից:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհան, տեղադրեք հետևյալ VBA ծածկագիրը Sheet (Code) պատուհանում:

VBA կոդ. ավտոմատ կերպով նամակ ուղարկել, երբ նշված բջիջի արժեքը փոխվում է

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

NotesԿոդում,

1) B14 կոդում նշանակում է, որ երբ B14 բջիջի արժեքը փոխվի, դուք էլ-նամակ կուղարկեք:
2) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
3) Փոխեք էլփոստի թեման տողում .Subject = "Աշխատանքային թերթիկը փոփոխված է".
4) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

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


3.3 Ավտոմատ նամակ ուղարկել, երբ աշխատանքային գիրքը պահվում է

Եթե ​​ունեք աշխատանքային գրքույկ, որը փոփոխելուց հետո պետք է համօգտագործվի ուրիշների հետ, սովորաբար դուք պետք է պահպանեք աշխատանքային գիրքը, գործարկեք էլփոստի հաճախորդը, ստեղծեք նոր էլ. Այս բաժինը ձեզ ցույց կտա ամեն անգամ աշխատանքային գրքույկը պահելիս ավտոմատ նամակ ստեղծելու մեթոդ: Խնդրում ենք անել հետևյալը.

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

2. Այս պատուհանում կրկնակի սեղմեք Այս գործառույթը է Նախագիծ պատուհանում, ապա տեղադրեք հետևյալ VBA կոդը Այս աշխատանքային գիրքը (ծածկագիր) պատուհան.

VBA կոդ․ ավտոմատ կերպով նամակ ուղարկել, երբ աշխատանքային գիրքը պահվում է

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

NotesԿոդում,

1) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) Փոփոխեք էլփոստի թեման և տեքստը տողերում առանձին .Subject = "Աշխատանքային գիրքը թարմացվել է" և .Body = "Hi," & Chr(13) & Chr(13) & "File now updated.".
3) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

3. Այսուհետ աշխատանքային գրքույկը պահելիս սեղմելով կոճակը Ctrl + S ստեղները կամ սեղմելով կոճակը Փրկել կոճակը, Outlook-ի էլփոստը ինքնաբերաբար կստեղծվի: Դուք կարող եք տեսնել, որ ընթացիկ աշխատանքային գիրքը կցված է որպես հավելված, և դաշտերը լրացված են նշված բովանդակությամբ: Տեսեք սքրինշոթը՝

TipsԵթե ​​դուք հաճախ եք օգտագործում այս աշխատանքային գրքույկը, այստեղ խորհուրդ ենք տալիս պահպանել աշխատանքային գիրքը որպես Excel մակրոներով աշխատունակ գիրք VBA սկրիպտը ապագա օգտագործման համար պահպանելու համար: Քայլերը հետեւյալն են.

1) Կտտացրեք Ֆայլ > Պահել As, ապա ընտրեք թղթապանակ՝ ֆայլը պահելու համար:
2) Ի Պահել As երկխոսության վանդակում, վերանվանեք ֆայլը, ինչպես ձեզ անհրաժեշտ է Ֆայլի անուն տեքստային տուփ, ընտրիր Excel մակրոներով աշխատունակ գիրք է Պահել որպես տիպ բացվող ցուցակը և վերջապես կտտացրեք այն Փրկել կոճակ Տեսեք,


3.4 Ավտոմատ կերպով նամակ ուղարկել որոշակի ժամանակ

Ենթադրենք, դուք պետք է ինչ-որ մեկին նամակ ուղարկեք առաջադրանքների աշխատանքային գրքույկով ամեն ուրբաթ առավոտյան ժամը 9և ցանկանում եք դա անել ինքնաբերաբար Excel-ում՝ առանց էլփոստի հաճախորդը ձեռքով գործարկելու: Այս բաժինը ձեզ ցույց կտա այն իրականացնելու մեթոդը:

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

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլ. Այնուհետև մոդուլի պատուհանում տեղադրեք հետևյալ VBA կոդը։

VBA կոդ 1. Ուղարկել ընթացիկ աշխատանքային գիրքը որպես հավելված Excel-ից

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Այս պատուհանում կրկնակի սեղմեք Այս գործառույթը է Նախագիծ պատուհանում, ապա տեղադրեք հետևյալ VBA կոդը Այս աշխատանքային գիրքը (ծածկագիր) պատուհան.

VBA կոդ 2. Ավտոմատ կերպով նամակ ուղարկել որոշակի ժամանակ

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

Notes:

1) VBA կոդ 1-ում, Ուրբաթ հետևյալ տողում նշանակում է, որ նամակն ավտոմատ կերպով կուղարկվի ամեն ուրբաթ.
Եթե ​​շաբաթվա օր (ամսաթիվ) = vbՈւրբաթ Ապա
2) VBA կոդ 1-ում և VBA կոդ 2-ում, ժամը 09:00:00 նշանակում է, որ նամակը կուղարկվի որոշակի օրվա առավոտյան ժամը 9-ին:
Դուք կարող եք փոխել օրն ու ժամը ըստ անհրաժեշտության:
3) Երբ կոդը գործարկվի, կստեղծվի էլ. Եթե ​​չեք ցանկանում բացել հաղորդագրության պատուհանը և պետք է այն ուղղակիորեն ուղարկել, խնդրում ենք հեռացնել տողը .Dուցադրել VBA կոդը 1-ից և հեռացրեք խաչմերուկ տողից առաջ '.Ուղարկել.

4. Պահպանեք կոդերը և այնուհետև պահեք աշխատանքային գրքույկը որպես Excel մակրո-միացված աշխատանքային գրքույկ հետևյալ կերպ.

4.1) Կտտացրեք Ֆայլ > Պահել As, ապա ընտրեք թղթապանակ՝ ֆայլը պահելու համար:
4.2) Ի Պահել As երկխոսության վանդակում, վերանվանեք ֆայլը, ինչպես ձեզ անհրաժեշտ է Ֆայլի անուն տեքստային տուփ, ընտրիր Excel մակրոներով աշխատունակ գիրք է Պահել որպես տիպ բացվող ցուցակը և վերջապես կտտացրեք այն Փրկել կոճակ Տեսեք,

5. Բացեք ձեր պահպանված մակրո-միացված աշխատանքային գրքույկը, այնուհետև էլ-նամակ կստեղծվի կամ ինքնաբերաբար կուղարկվի, երբ օրը և ժամը գա:


4. Լրացուցիչ թեմաներ

Այս բաժինը հավաքում է այլ թեմաներ, որոնց կարող եք հանդիպել Excel-ից նամակներ ուղարկելիս:

4.1 Էլփոստով մի շարք բջիջներ Excel-ից (VBA սկրիպտով)

Ենթադրենք, որ Excel-ի աշխատաթերթում կա վաճառքի ամսական աղյուսակ, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, և դուք պետք է ուղարկեք այս ամսական վաճառքի աղյուսակը ուրիշներին որպես էլփոստի հիմնական բովանդակություն կամ ուղղակիորեն որպես հավելված: Այստեղ մենք ձեզ երկու եղանակ ենք տրամադրում այն ​​իրականացնելու համար:

4.1.1 Էլ

Դուք կարող եք գործարկել հետևյալ VBA կոդը՝ Excel-ից մի շարք բջիջներ ուղարկելու համար որպես էլփոստի մարմնի բովանդակության մաս

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

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Գործիքներ > Սայլակ, Եվ ապա ստուգեք Microsoft Outlook 16.0 օբյեկտների գրադարան տուփը և կտտացնելը OK է Հղումներ - VBAP նախագիծ երկխոսության վանդակում:

3: սեղմեք Տեղադրել > Մոդուլներ, ապա տեղադրեք հետևյալ VBA կոդը մեջ Մոդուլ (կոդ) պատուհան.

VBA կոդ․ ուղարկեք մի շարք բջիջներ՝ որպես էլփոստի բովանդակության մաս Excel-ից

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

NotesԿոդում,

1) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

4. Սեղմեք F5 կոդը գործարկելու բանալին: Բացվող պատուհանում Excel- ի համար նախատեսված գործիքներ երկխոսության վանդակում, ընտրեք բջիջների շրջանակը, որը դուք պետք է ուղարկեք որպես էլփոստի հիմնական բովանդակության մաս, այնուհետև սեղմեք OK, Տեսեք,

Այնուհետև ինքնաբերաբար կստեղծվի Outlook էլ. Դուք կարող եք տեսնել, որ աշխատաթերթում ձեր ընտրած միջակայքը տեղադրվում է էլփոստի մարմնի մեջ: Տեսեք սքրինշոթը՝


4.1.2 Ուղարկել տիրույթ որպես հավելված Excel-ից

Եթե ​​Ձեզ անհրաժեշտ է էլեկտրոնային փոստով ուղարկել աշխատանքային թերթի մի շարք բջիջներ՝ որպես հավելված Excel-ից: Կարող եք փորձել հետևյալ VBA կոդը.

1. Սեղմեք ալտ + F11 ստեղները:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներ. Այնուհետև տեղադրեք հետևյալ VBA կոդը մեջ Մոդուլ (կոդ) պատուհան.

VBA կոդ. ուղարկել տիրույթ որպես հավելված Excel-ից

Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Notes:

1) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
2) տողում փոխեք էլփոստի թեման և էլփոստի տեքստը .Subject = «Ամսական վաճառք 2021 թ. և .Body = «Բարև, խնդրում եմ ստուգեք և կարդացեք այս փաստաթուղթը»:;
3) Հետևյալ երկու տողերով.
.CC = «էլ․ հասցե»
.BCC = «էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «փոստի հասցեն» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

3. Սեղմեք F5 կոդը գործարկելու բանալին: Բացվող պատուհանում Excel- ի համար նախատեսված գործիքներ երկխոսության վանդակում, ընտրեք բջիջների շրջանակը, որը դուք պետք է ուղարկեք որպես հավելված էլ.փոստում, ապա սեղմեք OK, Տեսեք,

Այնուհետև ինքնաբերաբար կստեղծվի Outlook էլ. Եվ աշխատաթերթում ձեր ընտրած բջիջների շրջանակը պահվում է որպես Excel աշխատանքային գրքույկ և կցվում է «Հաղորդագրություն» պատուհանում: Տես սքրինշոթը.


4.2 Ուղարկեք նամակներ, երբ կոճակը սեղմվում է Excel-ում

Եթե ​​Ձեզ անհրաժեշտ է սեղմել հրամանի կոճակը՝ Excel-ից էլփոստ ուղարկելու համար մակրո գործարկելու համար, օրինակ, ընթացիկ աշխատանքային գիրքը որպես հավելված ուղարկեք ուրիշներին՝ սեղմելով հրամանի կոճակը աշխատաթերթում: Այն իրականացնելու համար կարող եք հետևել հետևյալ քայլերին:

1: սեղմեք Երեվակիչ > Տեղադրել > Հրամանի կոճակ (ActiveX կառավարման). Այնուհետև աշխատաթերթում նկարեք հրամանի կոճակը:

TipsԵթե ​​արդեն ունեք հրամանի կոճակ, բաց թողեք այս քայլը:

2. Սեղմեք ալտ + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան Պատուհանում կտտացրեք Տեղադրել > Մոդուլ, այնուհետև մոդուլի (Code) պատուհանում տեղադրեք VBA կոդը (կոդը, որն օգտագործվում է ընթացիկ աշխատանքային գրքույկը որպես հավելված Excel-ից էլեկտրոնային փոստով ուղարկելու համար):

Կոդը ստանալու համար սեղմեք այստեղ.

ՆշումԱհա 2-րդ քայլում ձեր ստեղծած մակրոյի անունը Ուղարկել աշխատանքային գրքույկ.

3. Սեղմեք ալտ + Q ստեղները փակելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

4. Այժմ դուք պետք է նշանակեք մակրո հրամանի կոճակին: Աջ սեղմեք հրամանի կոճակը, ընտրեք Դիտել կոդը աջ սեղմեք մենյուից:

5. Հետո Microsoft Visual Basic հավելվածների համար պատուհանը բացվում է, դուք կարող եք տեսնել հետևյալ երկու տողերը Թերթ (կոդ) պատուհան.

Private Sub CommandButton1_Click()
End Sub

6. Մուտքագրեք առկա մակրոյի անունը հրամանի կոճակի ենթակարգի ներսում:

7. Սեղմեք ալտ + Q ստեղները փակելու համար Visual Basic խմբագիրեւ սեղմեք Երեվակիչ > Դիզայնի ռեժիմ դիզայնի ռեժիմն անջատելու համար։

Այժմ դուք կարող եք սեղմել հրամանի կոճակը՝ ընթացիկ աշխատանքային գրքույկով նամակ ուղարկելու համար՝ որպես կցորդ էլ.


4.3 Ուղարկեք նամակներ նշված էլփոստի հաշվից

Սովորաբար, Excel-ից VBA կոդով նամակ գործարկելու ժամանակ ուղարկողի էլփոստի հաշիվը Outlook-ում կանխադրված հաշիվն է: Ենթադրենք, որ դուք ձեր Outlook-ում կարգավորել եք մի քանի էլ. Հետևյալ VBA կոդը կարող է օգնել.

Այս դեպքում անհրաժեշտ են հետևյալ ծածկագրերը.

VBA կոդ 1:

Dim OutlookMail As Outlook.MailItem

VBA կոդ 2:

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

Ինչպե՞ս օգտագործել վերը նշված VBA կոդը:

1) Ձեր սեփական կոդում դուք պետք է փոխարինեք տողը, ինչպիսին է «Մթնեցրեք OutlookMail-ը որպես օբյեկտVBA կոդով 1;
2) Ավելացրեք VBA կոդը 2 տողի տակ «Ս.թ. սխալի Ռեզյումե NextՁեր ծածկագրում: Այնուհետև նշեք էլփոստի հասցեն, որը կօգտագործեք նամակն ուղարկելու համար VBA կոդով 2:

Այս օրինակում մենք պատրաստվում ենք նշել էլփոստի որոշակի հաշիվ՝ ընթացիկ աշխատանքային գիրքը Excel-ից որպես հավելված ուղարկելու համար: Խնդրում ենք անել հետևյալը.

1. Սեղմեք ալտ + F11 բանալիներ. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Գործիքներ > Սայլակ, Եվ ապա ստուգեք Microsoft Outlook 16.0 օբյեկտների գրադարան տուփը և կտտացնելը OK է Հղումներ - VBAP նախագիծ երկխոսության վանդակում:

2: սեղմեք Տեղադրել > Մոդուլներ. Այնուհետև տեղադրեք հետևյալ VBA կոդը մեջ Մոդուլ (կոդ) պատուհան.

VBA կոդ. Ուղարկեք ընթացիկ աշխատանքային գիրքը որպես էլփոստի հավելված Excel-ից նշված Outlook հաշվի միջոցով

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Սեղմեք F5 կոդը գործարկելու բանալին: Այնուհետև հայտնվում է Outlook էլփոստի հաղորդագրություն, որը կարող եք տեսնել, որ From դաշտը լցված է կոդում ձեր նշած էլ. փոստով:


4.4 Ուղարկեք նամակ, երբ ամսաթիվը հասնի

Եթե ​​Ձեզ անհրաժեշտ է նամակ ուղարկել կոնկրետ ժամկետի հիման վրա, օրինակ, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, կա նախագծի աղյուսակ, երբ վճարման ժամկետը E2:E7 միջակայքում հավասար է կամ պակաս է 7 օրից այսօրվանից (ենթադրելով, որ ընթացիկ ամսաթիվը 2022/8/4 է), նամակն ավտոմատ կերպով կուղարկվի համապատասխան ծրագրի ղեկավարներին և ծանուցում նրանց, որ նախագիծը մոտենում է ավարտին:

1. Աշխատանքային թերթիկը պարունակում է նախագծի աղյուսակը, աջ սեղմեք թերթիկի ներդիրին և սեղմեք Դիտել կոդը աջ կտտացնելու ցանկից:

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանում տեղադրեք հետևյալ VBA կոդը Թերթ (կոդ) պատուհան.

VBA կոդ. Ավտոմատ կերպով նամակ ուղարկեք, երբ վերջնաժամկետը լրացվի

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

" xMailBody = "" xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf xMailBody = xMailBody & "" Set xMailItem = xOutApp.CreateItem(0) With xMailItem .Subject = xMailSubject .To = xRgSendVal .CC = "Email address" .BCC = "Email address" .HTMLBody = xMailBody .Display '.Send End With Set xMailItem = Nothing End If End If Next Set xOutApp = Nothing End Sub

NotesԿոդում,

1) Հետևյալ տողերում. E2: E7 պարունակում է վերջնաժամկետներ, որոնց հիման վրա էլ-նամակներ կուղարկեք: C2: C7 պարունակում է էլփոստի հասցեները, որոնց կուղարկեք նամակներ: Եվ D2: D7 պարունակում է դիտողություններ, որոնք դուք կավելացնեք էլփոստի մարմնում՝ հասցեատերերին ծանուցելու համար, որ նախագիծն ավարտվելու է: Դուք կարող եք փոխել միջակայքերը ըստ անհրաժեշտության:
Սահմանել xRgDate = միջակայք («E2:E7»)
Սահմանել xRgSend = միջակայք («C2:C7»)
Սահմանել xRgText = միջակայք («D2:D7»)
2) Հետևյալ տողը նշանակում է, որ վերջնաժամկետը պետք է լինի 1 օրից մեծ և այսօրվանից 7 օրից հավասար կամ պակաս: Դուք կարող եք փոխել այն, ինչպես ձեզ հարկավոր է:
Եթե ​​CDate(xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate(xRgDateVal) - Ամսաթիվ > 0 Ապա
3) տողում .Դեպի = , խնդրում եմ փոխարինել իրական ստացողի էլ.փոստի հասցեով: Եթե ​​Ձեզ անհրաժեշտ է մեկից ավելի էլփոստի հասցե, խնդրում ենք դրանք առանձնացնել ստորակետերով:
4) Փոխեք էլփոստի թեման տողում .Subject = "Աշխատանքային թերթիկը փոփոխված է".
5) Հետևյալ երկու տողերով.
.CC = «Էլ․ հասցե»
.BCC = «Էլ․ հասցե»
Եթե ​​ցանկանում եք ավելացնել cc և bcc հասցեատերերը, փոխարինեք տեքստը «Էլեկտրոնային հասցե» Ձեզ անհրաժեշտ էլ. հասցեներով տողերում:
Եթե ​​ձեզ պետք չեն cc և bcc հասցեատերերը, պարզապես ավելացրեք ապաստրոֆ ' յուրաքանչյուր տողից առաջ:

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


5. Հարմար գործիք, որը կօգնի ձեզ հեշտությամբ նամակներ ուղարկել Excel-ից

Եթե ​​դուք VBA-ի նորեկ եք, վերոհիշյալ մեթոդները կարող են ձեզ համար հեշտ չլինել: Այստեղ մենք խորհուրդ ենք տալիս Excel- ի համար նախատեսված գործիքներ'S Ուղարկել նամակներ հատկանիշով, այս հատկությամբ դուք կարող եք հեշտությամբ նամակներ ուղարկել Excel-ից միայն մի քանի կտտոցով: Խնդրում ենք անել հետևյալը.

Նախքան դիմելը Excel- ի համար նախատեսված գործիքներ, խնդրում եմ նախ ներբեռնեք և տեղադրեք այն.

5.1 Հեշտությամբ ստեղծեք փոստային ցուցակ, որը ներառում է ձեզ անհրաժեշտ էլփոստի դաշտերը

Նախքան «Ուղարկել նամակներ» գործառույթը կիրառելը, դուք պետք է ստեղծեք փոստային ցուցակ, որը պարունակում է ձեզ անհրաժեշտ էլփոստի դաշտերը: Այստեղ «Ստեղծել փոստային ցուցակ» գործառույթը կարող է օգնել:

1: սեղմեք Kutools Plus > Ստեղծեք փոստային ցուցակ.

2. Բացման մեջ Ստեղծեք փոստային ցուցակ պատուհանում, դուք պետք է կազմաձևեք հետևյալ կերպ.

2.1) Ի Փոստային ցուցակի սյուններ բաժինը, ստուգեք այն դաշտերը, որոնք ձեզ անհրաժեշտ են ձեր էլ.
2.2) Ի Կցեք ֆայլեր բաժինը, ստուգեք մեկ կամ մի քանի հավելվածներ, որոնք ձեզ կարող են անհրաժեշտ լինել;
2.3) Նշեք փոստային ցուցակը տեղադրելու վայրը.
2.4) Կտտացրեք այն Ստեղծել կոճակ Տեսեք,

Այնուհետև ստեղծվում է փոստային ցուցակի աղյուսակի նմուշ, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում:

3. Այժմ դուք պետք է փոխարինեք նմուշի բնօրինակ տվյալները ձեր սեփական դաշտային տվյալներով:

Այժմ դուք ստեղծել եք փոստային ցուցակի աղյուսակ: Խնդրում ենք առաջ գնալ՝ կիրառելու համար Ուղարկել նամակներ Ձեր ստեղծած դաշտերի հիման վրա Excel-ից նամակներ ուղարկելու հնարավորություն:

  Եթե ​​ցանկանում եք ունենալ այս օգտակար ծառայության անվճար փորձարկում (30-օրյա), խնդրում ենք կտտացնել այն ներբեռնելու համար, և այնուհետև անցեք գործողությունը կիրառելու վերը նշված քայլերին համապատասխան:


5.2 Հեշտությամբ ուղարկեք էլ

Փոստային ցուցակը ստեղծելուց հետո (կտտացրեք ՝ իմանալու համար, թե ինչպես), որը պարունակում է այն դաշտերը, որոնք ձեզ կարող են անհրաժեշտ լինել ձեր էլ. նամակներում, այժմ կարող եք այս դաշտերով նամակներ ուղարկել Excel-ից:

1. Ընտրեք ամբողջ փոստային ցուցակը, սեղմեք Kutools Plus > Ուղարկել նամակներ.

2. Մեջ Ուղարկել նամակներ Երկխոսության տուփ, խնդրում ենք կատարել հետևյալ կոնֆիգուրացիան.

2.1) Դաշտերը լրացվում են յուրաքանչյուր դաշտի երկխոսության վանդակում ավտոմատ կերպով այն դաշտերով, որոնք դուք նշել եք փոստային ցուցակում.
TipsԵթե ​​այս պահին ձեզ որոշակի դաշտ պետք չէ, բացվող ցանկում ընտրեք դատարկ տարբերակ:
2.2) Տեղադրեք Տեղապահը (ըստ ցանկության). Եթե Ձեզ անհրաժեշտ է փոփոխական տեղեկատվություն տեղադրել էլփոստի մարմնում:
Օրինակ, ձեզ կարող է անհրաժեշտ լինել նամակ ուղարկել բազմաթիվ հասցեատերերին՝ յուրաքանչյուրի համար անհատականացված անունով, դուք պետք է տեղադրեք կուրսորը էլփոստի մարմնում, որտեղ դուք պետք է տեղադրեք տեղապահը, ընտրեք դաշտը «E: Անունը» (կամ այլ անվանման դաշտ ձեր էլ. նամակների ցանկում), այնուհետև սեղմեք Տեղադրել Placeholder կոճակ;
Երբ հասցեատերերը ստանում են էլ.
2.3) Կազմեք էլփոստի մարմինը, ինչպես ձեզ անհրաժեշտ է.
2.4) Համոզվեք, որ Նամակներ ուղարկել Outlook- ի միջոցով վանդակը ստուգված է;
2.5) Կտտացրեք այն ուղարկել կոճակ Տեսեք,

3. Հետո ա Excel- ի համար նախատեսված գործիքներ Երկխոսության տուփը հայտնվում է, որպեսզի ձեզ ասի, թե քանի նամակ է ուղարկվել, սեղմեք կոճակը OK այս երկխոսության տուփը փակելու կոճակը:

TipsԴուք կարող եք գնալ դեպի Ուղարկված նյութեր թղթապանակ ձեր Outlook-ում՝ ձեր ուղարկած նամակները ստուգելու համար:


5.3 Հեշտությամբ նամակներ ուղարկեք HTML տեքստով (ներառյալ հիպերհղումը, պատկերը և այլն)

Այս Send Emails ֆունկցիան թույլ է տալիս ստեղծել html էլ.

Այն բանից հետո ստեղծելով փոստային ցուցակ, որը ներառում է ձեզ անհրաժեշտ էլփոստի դաշտերը,

Երբ դուք կարգավորել Ուղարկել էլփոստի երկխոսության տուփը, կարող եք հարստացնել մարմնի բովանդակությունը՝ օգտագործելով գործիքագոտու ընտրանքները:

Տես ստորև ներկայացված սքրինշոթը.


5.4 Հեշտությամբ տեղադրեք Outlook-ի լռելյայն ստորագրությունը նամակներ ուղարկելիս

Վերոնշյալ մեթոդով մենք ցուցադրեցինք VBA կոդ, որը կօգնի ձեզ ուղարկել նամակներ Outlook-ի լռելյայն ստորագրությամբ: Այստեղ «Ուղարկել նամակներ» գործառույթով, դուք պարզապես պետք է ստուգեք որևէ տարբերակ, այնուհետև Outlook-ի լռելյայն ստորագրությունը կտեղադրվի Excel-ից ուղարկված նամակներում:

Այն բանից հետո ստեղծելով փոստային ցուցակ, որը ներառում է ձեզ անհրաժեշտ էլփոստի դաշտերը,

Երբ կարգավորել Ուղարկել էլփոստի երկխոսության տուփը, պետք է սեղմել Ընտրանքներ > Օգտագործեք Outlook- ի ստորագրության պարամետրերը.

ՆշումԽնդրում ենք համոզվել, որ նախքան Outlook-ի ստորագրության կարգավորումների ընտրանքը ցուցադրվում է ստուգիչ նշան:

Երբ հասցեատերերը ստանում են էլ.


5.5 Հեշտությամբ նամակներ ուղարկեք նշված էլփոստի հաշվից

Որոշակի էլփոստի հաշիվ օգտագործելու համար Excel-ից էլ-նամակներ ուղարկելու համար՝ լռելյայն հաշիվ օգտագործելու փոխարեն, Send Emails ֆունկցիան կարող է նաև օգնել հեշտությամբ կատարել այն:

Այն բանից հետո ստեղծելով փոստային ցուցակ, որը ներառում է ձեզ անհրաժեշտ էլփոստի դաշտերը,

Երբ կարգավորել Ուղարկել էլփոստի երկխոսության տուփը, պետք է սեղմել Ընտրանքներ > Ուղարկված է, ապա սեղմեք էլփոստի հաշիվը, որից պետք է նամակներ ուղարկեք:

ՆշումԷլփոստի հաշիվն ընտրելուց հետո դրա առջև կցուցադրվի նշան:

Սեղմել այստեղ ավելին իմանալու այս Ուղարկել էլփոստի գործառույթի մասին:

  Եթե ​​ցանկանում եք ունենալ այս օգտակար ծառայության անվճար փորձարկում (30-օրյա), խնդրում ենք կտտացնել այն ներբեռնելու համար, և այնուհետև անցեք գործողությունը կիրառելու վերը նշված քայլերին համապատասխան:

Եզրափակելով, Excel-ից նամակներ ուղարկելը բավականին օգտակար է մեր ամենօրյա աշխատանքում: Այս հոդվածն ընդգրկում է Excel-ից նամակներ ուղարկելու ավելի համապարփակ թեմաներ, եթե կան այլ թեմաներ կամ ավելի հեշտ լուծումներ, խնդրում եմ թողեք մեկնաբանություն՝ ինձ տեղյակ պահելու համար:

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

🤖 Kutools AI օգնականՀեղափոխություն կատարել տվյալների վերլուծության հիման վրա՝ Խելացի կատարում   |  Ստեղծեք ծածկագիր  |  Ստեղծեք հատուկ բանաձևեր  |  Վերլուծել տվյալները և ստեղծել գծապատկերներ  |  Invoke Kutools-ի գործառույթները...
Հանրաճանաչ հատկություններ: Գտեք, ընդգծեք կամ նույնականացրեք կրկնօրինակները   |  Deleteնջել դատարկ շարքերը   |  Միավորել սյունակները կամ բջիջները՝ առանց տվյալների կորստի   |   Կլոր առանց բանաձևի ...
Super Փնտրել: Բազմաթիվ չափանիշների VLookup    Բազմակի արժեք VLookup  |   VLookup բազմաթիվ թերթերում   |   Fuzzy Փնտրել ....
Ընդլայնված բացվող ցուցակ: Արագ ստեղծեք բացվող ցուցակը   |  Կախված բացվող ցուցակ   |  Բազմակի ընտրություն Drop Down ցուցակ ....
Սյունակի կառավարիչ: Ավելացրեք որոշակի քանակությամբ սյունակներ  |  Տեղափոխել սյունակները  |  Փոխարկել թաքնված սյունակների տեսանելիության կարգավիճակը  |  Համեմատեք միջակայքերը և սյունակները ...
Առանձնահատկություններ: Ցանցի կենտրոնացում   |  Դիզայնի տեսք   |   Մեծ Formula Bar    Աշխատանքային գրքույկի և թերթիկների կառավարիչ   |  Ռեսուրսների գրադարան (Ավտոմատ տեքստ)   |  Ամսաթիվ ընտրող   |  Միավորել աշխատանքային թերթերը   |  Գաղտնագրել/գաղտնազերծել բջիջները    Ուղարկեք նամակներ ըստ ցանկի   |  Սուպեր զտիչ   |   Հատուկ զտիչ (զտել թավ/շեղ/շեղված...) ...
Լավագույն 15 գործիքների հավաքածու12 Տեքստ Գործիքներ (Ավելացրեք տեքստ, Հեռացնել նիշերը, ...)   |   50+ Աղյուսակ Տեսակներ (Գանտի աղյուսակը, ...)   |   40+ Գործնական Բանաձեւեր (Հաշվարկել տարիքը ՝ ելնելով ծննդյան տարեդարձից, ...)   |   19 միացում Գործիքներ (Տեղադրեք QR կոդ, Տեղադրեք նկար ուղուց, ...)   |   12 Փոխարկում Գործիքներ (Բառեր համարներ, Արտարժույթի փոխակերպումը, ...)   |   7 Միաձուլում և պառակտում Գործիքներ (Ընդլայնված կոմբինատ տողեր, Պառակտված բջիջներ, ...)   |   ... եւ ավելին

Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար:  Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...

Նկարագրություն


Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations