Note: The other languages of the website are Google-translated. Back to English

Ինչպե՞ս ուղարկել էլփոստով Excel- ում նշված տիրույթը պատճենելու և տեղադրելու էլփոստի մարմինը:

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

Ուղարկեք նամակ Excel- ում էլփոստի մարմնում տեղադրված նշված տիրույթով
Sendարմանալի գործիքով նամակ ուղարկեք նշված տիրույթով, որը տեղադրված է էլփոստի մարմնում

Excel- ում փոստ ուղարկելու այլ ձեռնարկներ ...


Ուղարկեք նամակ Excel- ում էլփոստի մարմնում տեղադրված նշված տիրույթով

Հաջորդ VBA կոդը կարող է օգնել ձեզ պատճենել մի շարք և տեղադրել դրանք Outlook- ի էլփոստի մարմնում անմիջապես Excel- ում: Խնդրում եմ արեք հետևյալ կերպ.

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

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Գործիքներ > Սայլակ ինչպես ցույց է տրված նկարում

3. Մեջ Հղումներ - VBAP նախագիծ երկխոսության տուփ, խնդրում ենք գտնել և ստուգել Microsoft Outlook օբյեկտի գրադարան տարբերակը, ապա կտտացրեք OK կոճակը:

4: սեղմեք Տեղադրել > Մոդուլներ, ապա պատճենեք և տեղադրեք ներքևի VBA կոդը Մոդուլի պատուհանում:

VBA կոդ. Ուղարկեք էլփոստ Excel- ում էլփոստի մարմնում տեղադրված նշված տիրույթով

Sub Send_Email()
'Updated by Extendoffice 20200119
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xEmailBody As String
    Dim xMailOut As Outlook.MailItem
    Dim xOutApp As Outlook.Application    
    On Error Resume Next
    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)
    For I = 1 To xRg.Rows.Count
        For J = 1 To xRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xRg.Cells(I, J).value
        Next
        xEmailBody = xEmailBody & vbNewLine
    Next
    xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
    With xMailOut
        .Subject = "Test"
        .To = "happy.xuebi@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Notes:

  • 1) Խնդրում ենք հերթով փոխել էլ. Փոստի մարմինը xEmailBody = "Ողջույն" & vbLf & vbLf & "հաղորդագրություն, որը ցանկանում եք ավելացնել" & vbLf & vbLf & xEmailBody & vbNewLine ինչպես դուք պետք է:
  • 2) Խնդրում ենք նշել ձեր էլ. Փոստի հասցեատիրոջը և թեման (.Դեպ = happy.xuebi@163.com և . Առարկա = "թեստ") տողերը ծածկագրում:

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

6. Այժմ ստեղծվում է էլփոստ `նշված ստացողի, առարկայի, մարմնի և ընտրված Excel տիրույթի հետ, խնդրում ենք կտտացնել այստեղին ուղարկել այս էլ-նամակն ուղարկելու կոճակը: Տեսեք ցուցադրված նկարը

ՆշումVBA կոդը գործում է միայն այն ժամանակ, երբ Outlook- ը օգտագործում եք որպես ձեր էլփոստի ծրագիր:


Sendարմանալի գործիքով նամակ ուղարկեք նշված տիրույթով, որը տեղադրված է էլփոստի մարմնում

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

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

1. Նախ, անհրաժեշտ է պատրաստել փոստային ցուցակ `անհրաժեշտ դաշտերով:

  • TipsՓոստային ցուցակը պետք է պարունակի առնվազն 2 տող, իսկ առաջին շարքը պետք է լինի վերնագրերը (Ենթադրելով, որ ուզում եք էլ. Փոստ ուղարկել էլ.փոստի երկու հասցեներին Excel- ում, խնդրում ենք մուտքագրել այս երկու էլ. Փոստի հասցեները «Էլ. Փոստ» վերնագրով, ինչպես ցույց է տրված ստորև նշված նկարը )
  • Այլընտրանքորեն, Դուք կարող եք հեշտությամբ ստեղծել փոստային ցուցակ ՝ Ստեղծեք փոստային ցուցակ առանձնահատկություն.

2. Ընտրեք տիրույթը, որը տվյալները կավելացնեք էլփոստի մարմնին և սեղմեք Ctrl + C կրկնօրինակները:

3. Ընտրեք ամբողջ փոստային ցուցակը (ներառեք վերնագրերը), կտտացրեք Kutools Plus > Ուղարկել նամակներ, Տեսեք,

4. Հետո Ուղարկել նամակներ բացվում է երկխոսության տուփ:

  • 4.1) Ընտրված փոստային ցուցակի կետերը լրացված են համապատասխան դաշտերում (փոստային ցուցակում կարող եք ավելացնել ավելի շատ դաշտեր, որքան ձեզ հարկավոր է).
  • 4.2) Կտտացրեք էլփոստի մարմնի տուփին, սեղմեք կոճակը Ctrl + V ընտրված ընդգրկույթի տվյալները դրանում տեղադրելու ստեղներ: Դրանից հետո ավելացրեք այլ բովանդակություն, որքան ձեզ հարկավոր է;
  • 4.3 Ապանշել Նամակներ ուղարկել Outlook- ի միջոցով տուփ;
  • 2.4) Կտտացրեք այն Արտագնա սերվերի կարգավորումները կոճակ Տեսեք,

5. Հետո Արտագնա սերվերի (SMTP) կարգավորումներ - Նոր սխեմա բացվում է երկխոսության տուփ: Խնդրում ենք լրացնել էլ. Փոստի հասցեն իր սերվերի պարամետրերով, նշեք պանակ ՝ բոլոր ուղարկված նամակները փրկելու համար ՝ Պահեք ուղարկված էլ. Նամակները այստեղ տուփը, ապա կտտացրեք OK պարամետրերը պահելու կոճակը:

6. Երբ այն վերադառնա Ուղարկել նամակներ երկխոսության տուփ, կտտացրեք ուղարկել էլ.փոստը ուղարկելու կոճակը:

Այսուհետ այս գործառույթով նամակներ կարող եք ուղարկել ուղղակիորեն Excel- ում:

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


Առնչվող հոդվածներ քանակը:

Ուղարկեք էլ.փոստ Excel- ում բջիջներում նշված էլ-փոստի հասցեներին
Ենթադրելով, որ դուք ունեք էլ.փոստի հասցեների ցուցակ, և ցանկանում եք այս էլ-փոստի հասցեներին էլեկտրոնային հաղորդագրություն ուղարկել հիմնականում Excel- ում: Ինչպե՞ս հասնել դրան: Այս հոդվածը ձեզ ցույց կտա Excel- ի բջիջներում նշված էլփոստի մի քանի հասցեներին էլ.

Տեղադրեք Outlook ստորագրությունը Excel- ում էլ-նամակ ուղարկելիս
Ենթադրելով, որ դուք ցանկանում եք նամակ ուղարկել ուղղակիորեն Excel- ում, ինչպե՞ս կարող եք ավելացնել ձեր Outlook- ի լռելյայն ստորագրությունը ձեր էլ. Փոստում: Այս հոդվածը տրամադրում է երկու մեթոդ, որոնք կօգնեն ձեզ Excel- ում էլ-նամակ ուղարկելիս Outlook ստորագրություն ավելացնել:

Ուղարկեք էլփոստ ՝ Excel- ում կցված բազմաթիվ կցորդներով
Այս հոդվածում խոսվում է Outlook- ի միջոցով էլփոստ ուղարկելու մասին ՝ Excel- ում կցված բազմաթիվ կցորդներով:

Ուղարկեք էլ. Նամակ, եթե Excel- ում լրացվել է ժամկետը
Օրինակ, եթե C սյունակում ժամկետի ավարտը պակաս է կամ հավասար է 7 օրվա (ընթացիկ ամսաթիվը ՝ 2017/9/13), ապա էլ. Փոստով ուղարկեք հիշեցում B սյունակում նշված բովանդակությամբ նշված ստացողին Բ սյունակում: հասնել դրան? Այս հոդվածը կտրամադրի VBA մեթոդ ՝ դրանով մանրամասնորեն զբաղվելու համար:

Excel- ում ավտոմատ կերպով նամակ ուղարկեք ՝ հիմնվելով բջջային արժեքի վրա
Ենթադրելով, որ ցանկանում եք Outlook- ի միջոցով նամակ ուղարկել որոշակի ստացողի ՝ Excel- ում նշված բջջային արժեքի հիման վրա: Օրինակ, երբ աշխատանքային թերթում D7 բջիջի արժեքը 200-ից մեծ է, ապա էլ.փոստը ստեղծվում է ավտոմատ կերպով: Այս հոդվածը ներկայացնում է VBA մեթոդ, որպեսզի դուք արագ լուծեք այս հարցը:

Excel- ում փոստ ուղարկելու այլ ձեռնարկներ ...


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

Excel-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

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

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (20)
Գնահատված 4.5- ը 5- ից դուրս է · 1 վարկանիշ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այս կոդը հիանալի է, բայց ես պետք է գործարկեմ հրամանի կոճակով, այլ ոչ թե սեղմեմ F5 կոդի տեսքով: Ես կցանկանայի, որ իմ աշխատակիցները կարողանան լրացնել որոշ տեղեկություններ, այնուհետև սեղմել կոճակը և այն պատճենել իրենց լրացված բջիջների շրջանակը և տեղադրել էլփոստի մեջ: Ես կարող եմ ստանալ կոդ, որն աշխատում է էլփոստի կոճակի համար և առանձին՝ բջիջների տիրույթի պատճենման/տեղադրման համար, բայց կարծես թե չեմ կարող համատեղել երկու գործառույթները: Խնդրում ենք օգնել!!! Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi Michael,
Պարզապես պետք է ձեր աշխատաթերթում ստեղծեք կոճակ (օրինակ՝ կոճակ (ձևի վերահսկում)), այնուհետև մակրո նշանակեք կոճակին:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ, շնորհակալություն:
Ես ստեղծեցի կոդ և մտածում էի, թե ինչպես վերագրել «Command» կոճակը կոդի վրա: Ձեր գրառումն օգնեց: և իմ զեկույցը հմայքի պես է աշխատում:

Նորից շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա շատ լավ է. Աշխատում է այնպես, ինչպես սպասվում էր։ Միակ խնդիրն այն է, որ փոստում աղյուսակի ձևաչափը չի պահպանվում։ Կարո՞ղ եք ինձ տեղյակ պահել, թե ինչպես ենք մենք պահպանում փոստի աղյուսակի ձևաչափը
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi
Այս կոդը տարբերվում է գերազանց, օգտագործելով կոդը, ես ավարտել եմ իմ նախագծի 90%-ը:
Ես ունեմ նույն խնդիրը, ինչ նշեց Անիրուդը, որը վերաբերում է աղյուսակի ձևաչափմանը: Ինչպես կարող եմ ձևաչափել աղյուսակը էլեկտրոնային փոստով:
Խնդրում եմ օգնիր ինձ......
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Խնդիրը դեռ հնարավոր չէ լուծել. Կներեք անհարմարության համար և շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ձեզ, կա՞ որևէ թարմացում ստորև……
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես նաև կոդ էի ուզում «Զտել ըստ ամսաթվի»:
Ես աշխատում եմ նախագծի վրա, այդ նախագծի վրա ես ուզում էի զտել տվյալները ըստ ամսաթվի, իրականում մենք զտել ենք/թաքցրել և վերջին 05 օրվա տվյալները ընթացիկ ամսաթվին ենք, և մենք ընդգծել ենք մնացած բոլոր տվյալները:
Խնդրում եմ օգնեք ինձ ավարտին հասցնել այս նախագիծը:
Ձեր օգնությունը շատ մեծ է ինձ համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կոդ՝ ok-ից հետո ավտոմատ կերպով ուղարկելու համար
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
սա կպցնում է որպես տեքստ: Խնդրում ենք առաջարկել, թե ինչպես ուղարկել աղյուսակը կամ նույն ձևաչափը, որը պատճենված է excel-ից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես տեսնում եմ կոմպիլյացիայի սխալ (օգտագործողի կողմից սահմանված տեսակը սահմանված չէ): Խնդրում եմ օգնեք ինձ հաղթահարել դա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Խնդրում ենք մուտք գործել Հղման պատուհան՝ սեղմելով Գործիքներ > հղումներ: Ոլորեք ներքև՝ գտնելու և ստուգելու Microsoft Outlook Object Library տուփը և սեղմեք OK կոճակը՝ կարգավորումն ավարտելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, փորձագետներ, Ունե՞նք թարմացումներ այն մասին, թե ինչպես է պահպանվել ձևաչափը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն,
Չի կարողանում պարզել: Ցավում եմ, որ.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Տարածքը ձեռքով ընտրելու փոխարեն, ես ուզում եմ ավտոմատ ընտրել միջակայքը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ռաման,
Ստորև բերված ծածկագրում խնդրում ենք փոխարինել «A1:C5» միջակայքը Set xRg = Range(«A1:C5») տողում ձեր սեփական տիրույթով:

Sub Send_Email()
Dim xRg որպես տիրույթ
Dim I, J As Long
Dim xAddress As String
Dim xEmailBody որպես տող
Խոնավեցրեք xMailOut-ը որպես Outlook.MailItem
Dim xOutApp As Outlook.Application
Ս.թ. սխալի Ռեզյումե Next
xAddress = ActiveWindow.RangeSelection.Address
Սահմանել xRg = միջակայք («A1: C5»)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
Դիմում. ScreenUpdating = Սուտ է
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
Սահմանել xMailOut = xOutApp.CreateItem (olMailItem)
I = 1-ի համար դեպի xRg.Rows.Count
J = 1-ի համար դեպի xRg.Columns.Count
xEmailBody = xEmailBody & " " & xRg.Cells(I, J).Value
հաջորդ
xEmailBody = xEmailBody & vbNewLine
հաջորդ
xEmailBody = "Ողջույն" & vbLf & vbLf & "հաղորդագրություն, որը ցանկանում եք ավելացնել" & vbLf & vbLf & xEmailBody & vbNewLine
XMailOut- ով
.Subject = «Թեստ»
.To = "happy.xuebi@163.com"
.Body = xEmailBody
.Dուցադրել
'.Ուղարկել
Վերջ
Սահմանեք xMailOut = Ոչինչ
Սահմանել xOutApp = Ոչինչ
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Տարածքը ընտրելու փոխարեն, ես ցանկանում եմ Excel-ում ընտրել բազմաթիվ առանցքներ:
կարող եք խնդրում եմ օգնել ինձ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
կարող եք օգնել ինձ ստորև
Ես ստեղծել եմ excel թերթիկ և թարմացրել եմ 10 մատակարարի փոստի մանրամասները: Ես փոստ եմ ուղարկել Excel-ի միջոցով բոլոր 10 մատակարարներին՝ անհատական ​​թերթիկի կցված անհատական ​​փոստով:
Ես ուզում եմ excel-ի տվյալները տեղադրել outlook body-ում՝ փոստում կցված լինելու փոխարեն
կարող է որևէ մեկը օգնել ինձ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Միակ խնդիրն այն է, որ փոստում աղյուսակի ձևաչափը չի պահպանվում։ Կարո՞ղ եք ինձ տեղյակ պահել, թե ինչպես ենք մենք պահպանում փոստի աղյուսակի ձևաչափը, ես նույն խնդիրն ունեմ, կարո՞ղ եք տեսնել, թե արդյոք կարող եք թարմացնել այն խնդրում եմ, հակառակ դեպքում սա հիանալի է:
Many thanks
Գնահատված 4.5- ը 5- ից դուրս է
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Էնդի Միտչել,
Եթե ​​ցանկանում եք պահպանել աղյուսակի ձևաչափը, ապա հետևյալ VBA սկրիպտը կարող է ձեզ լավություն անել։ Խնդրում եմ փորձեք: Շնորհակալություն.
Sub Send_Email()
'Updated by Extendoffice 20220616
    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 = "happy.xuebi@163.com"
        .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
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից