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

Ինչպե՞ս էլեկտրոնային նամակ ուղարկել, եթե Excel- ում լրացել է ժամկետը:

Ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, եթե C սյունակի վերջնաժամկետը 7 օրից փոքր է կամ հավասար է (օրինակ, ընթացիկ ամսաթիվը 2017/9/13 է), նամակ է ուղարկվում A սյունակում նշված հասցեատիրոջը և B սյունակում նշված բովանդակությունը ցուցադրվում է էլփոստի մարմնում: Ինչպե՞ս կարող էիք անել դրան հասնելու համար: Այս հոդվածը տրամադրում է VBA կոդ, որը կօգնի ձեզ կատարել այս խնդիրը:

Ուղարկեք էլ. Նամակ, եթե ժամկետը լրացել է VBA կոդով


Ուղարկեք էլ. Նամակ, եթե ժամկետը լրացել է VBA կոդով

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

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

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

VBA կոդ. Excel- ում փակման դեպքում էլ-նամակ ուղարկեք

Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
    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 = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
    If xRgDate Is Nothing Then Exit Sub
    Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
    If xRgSend Is Nothing Then Exit Sub
    Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
    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 = "<br><br>"
            xMailBody = "<HTML><BODY>"
            xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
            xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
            xMailBody = xMailBody & "</BODY></HTML>"
            Set xMailItem = xOutApp.CreateItem(0)
            With xMailItem
                .Subject = xMailSubject
                .To = xRgSendVal
                .HTMLBody = xMailBody
                .Display
                '.Send
            End With
            Set xMailItem = Nothing
        End If
    End If
    Next
    Set xOutApp = Nothing
End Sub

Notes: Գիծը Եթե ​​CDate (xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate (xRgDateVal) - Ամսաթիվ> 0 Հետո VBA կոդում նշանակում է, որ ժամկետը պետք է լինի 1 օրից մեծ և պակաս 7 օրից պակաս: Դուք կարող եք փոխել այն, ինչ ձեզ հարկավոր է:

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

4. Հետո երկրորդը Excel- ի համար նախատեսված գործիքներ երկխոսության պատուհանը հայտնվում է, խնդրում ենք ընտրել համապատասխան սյունակի տիրույթը, որը պարունակում է ստացողների էլ. փոստի հասցեները և կտտացրեք այն OK կոճակ Տեսեք,

5. Վերջինում Excel- ի համար նախատեսված գործիքներ երկխոսության տուփ, ընտրեք այն բովանդակությունը, որը ցանկանում եք ցուցադրել էլփոստի մարմնում, և այնուհետև կտտացրեք այն OK կոճակը:

Այնուհետև էլ. Փոստը կստեղծվի ավտոմատ կերպով նշված ստացողի, առարկայի և մարմնի կողմից նշված, եթե C սյունակում ժամկետի ավարտը պակաս է կամ հավասար է 7 օրվա: Խնդրում ենք սեղմել ուղարկել էլ.փոստը ուղարկելու կոճակը:

Notes:

1. Ստեղծված յուրաքանչյուր էլ. Նամակ համապատասխանում է ժամկետին: Օրինակ, եթե չափանիշներին համապատասխանող երեք ժամկետ կա, երեք էլեկտրոնային հաղորդագրություն կստեղծվի ինքնաբերաբար:

2. Այս կոդը չի գործարկվի, եթե չափանիշներին համապատասխանող ամսաթվեր չկան:

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


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


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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (124)
Գնահատված 4.5- ը 5- ից դուրս է · 1 վարկանիշ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն կիսվելու համար.


Ինչպե՞ս կավելացնեիք Cc մուտքագրումները կամ մի քանի հասցեատերեր:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Բրենդոն

Կներեք ձեր գրառմանը առանց պատասխանի մեկնաբանելու համար, բայց կարո՞ղ էիք ստանալ VBA կոդը՝ նամակ ուղարկելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես օգտագործել եմ ձեր VBA կոդը՝ բջջային արժեքի հիման վրա նամակներ ուղարկելու համար, բայց այն չի աշխատում:
Մինչև 5-րդ քայլը ամեն ինչ աշխատում է, բայց էլփոստ չի ուղարկվում: Որևէ մեկը կարո՞ղ է ինձ օգնել այս հարցում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Me viene muy bien gracias por el aporte, solo me falta como puedo hacerlo automaticamente sin necesidad de hacerlo manualmente el envio del correo.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այս կոդը սառեցրեց իմ excel ծրագիրը, երբ ես այն գործարկեցի: Արդյո՞ք դա ինտենսիվ հիշողություն է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ռոբերտ,
Ձեր նշած խնդիրը իմ դեպքում չի երևում։ Կարո՞ղ եմ ունենալ ձեր Office տարբերակը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
կարո՞ղ ենք պարզապես մեկ անգամ մուտքագրել մանրամասները, և էլ. նամակները կարող են ավտոմատ կերպով ուղարկվել, փոխարենը սյունակներն ընտրելու անհրաժեշտության փոխարեն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Դիա,
Եթե ​​դուք չեք ցանկանում ձեռքով ընտրել սյունակները, խնդրում ենք կիրառել ստորև ներկայացված VBA կոդը:
Ծանոթագրություն. կոդը կիրառելուց հետո միայն անհրաժեշտ է ընտրել վերջնաժամկետների սյունակը:

Public Sub CheckAndSendMail()
«Թարմացվել է Extendoffice 2017 / 9 / 14
Dim xRgDate As Range
Dim xRgSend as Range
Խոնավեցրեք xRgText-ը որպես տիրույթ
Dim xRgDone As Range
Dim xOutApp-ը որպես օբյեկտ
Dim xMailItem-ը որպես օբյեկտ
Dim xLastRow այնքան երկար
Dim vbCrLf As String
Dim xMailBody որպես տող
Dim xRgDateVal Որպես տող
Dim xRgSendVal որպես տող
Dim xMailSubject որպես տող
Dim I As Long
Ս.թ. սխալի Ռեզյումե Next
Սահմանեք xRgDate = Application.InputBox («Խնդրում ենք ընտրել վերջնաժամկետի սյունակը.», «KuTools Excel-ի համար», , , , , , 8)
Եթե ​​xRgDate-ը ոչինչ է, ապա դուրս եկեք Sub
xLastRow = xRgDate.Rows.Count
Սահմանել xRgDate = xRgDate (1)
Սահմանել xRgSend = xRgSend(1)
Սահմանել xRgText = xRgText (1)
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
I = 1-ի համար դեպի xLastRow
xRgDateVal = xRgDate.Offset(I - 1).Value
Եթե ​​CDate(xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate(xRgDateVal) - Ամսաթիվ > 0 Ապա
xRgSendVal = xRgSend.Offset(I - 1) Value
xMailSubject = xRgText.Offset(I - 1).Value & "on" & xRgDateVal
vbCrLf = "

"
xMailBody = «Բարև ձեզ» & vbNewLine & vbNewLine & _
«Սա տող 1 է» և vbNewLine & _
«Սա տող 2 է»
Սահմանել xMailItem = xOutApp.CreateItem(0)
xMailItem-ի հետ
. To = "Էլ. Փոստի հասցե"
.CC = ""
.BCC = ""
.Tubject = "ուղարկել բջջային արժեքի թեստով"
.Body = xMailBody
.Ցուցադրել կամ օգտագործել .Ուղարկել
Վերջ
Սահմանել xMailItem = Ոչինչ
Վերջ: Եթե
հաջորդ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
Ես նաև բավականին սկսնակ եմ և կցանկանայի մեկ այլ հարց տալ ձեր հիանալի Sub-ի համար:

Ինչպե՞ս կարող եմ նամակ ուղարկել միայն այն դեպքում, եթե համապատասխան բջիջում կա որոշակի փոստի հասցե:

Ինձ սա պետք է, քանի որ իմ excel-ի գործիքում ես տեղադրել եմ որոշ կոճակներ յուրաքանչյուր մարդու համար, ով հիշեցման կարիք ունի:

Կանխավ շատ շնորհակալ եմ!!

Thomas
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Թոմաս
Մենք տեղադրել ենք հոդված «Ինչպե՞ս նամակ ուղարկել Excel-ի բջիջներում նշված էլ.փոստի հասցեներին»։
https://www.extendoffice.com/documents/excel/4717-excel-macro-send-email-to-address-in-cells.html
Գուցե դուք կարող եք գտնել ձեր լուծումը այս հոդվածում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ սա անհրաժեշտ է աշխատանքային գրքույկի բոլոր աշխատաթերթերում աշխատելու համար, ապագա ամսաթիվը ձեռքով կմուտքագրվի յուրաքանչյուր թերթի նույն վանդակում, և ամեն օր ստեղծվում են նոր թերթեր: Ինձ նաև պետք է աշխատաթերթի անունը էլ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կներեք, չեմ կարող օգնել ձեզ այս հարցում:
Բարի գալուստ Excel-ի վերաբերյալ ցանկացած հարց մեր ֆորումում տեղադրելու համար. https://www.extendoffice.com/forum.html. Դուք կստանաք ավելի շատ Excel աջակցություն մեր պրոֆեսիոնալ կամ Excel-ի այլ երկրպագուներից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Մի ստացեք, որ այն աշխատի: Օգտագործելով Office 365, այնպես որ Outlook-ը և Excel-ը պետք է բավականաչափ խիտ լինեն: Ինչպես 4 ամիս առաջ «schou»-ի գրառման մեջ, այն աշխատում է մինչև 5-րդ քայլը, բայց հետո ոչինչ:
Սրա լուծումը?
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ունեմ Excel նամակ ուղարկելու համար, բայց կարո՞ղ եմ սա կարգավորել այնպես, որ այն նամակ ուղարկի ամեն անգամ, երբ ես բացում եմ Excel-ը, ամեն անգամ սյունակները ընտրելու փոխարեն:

Ես ունեմ 24 էջանոց աշխատանքային գրքույկ, ուստի փնտրում եմ ավտոմատ էլփոստ ուղարկել, երբ աշխատանքային գիրքը բացվի:


Many thanks.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Նկատի ունեք ավտոմատ կերպով ստուգել աշխատանքային գրքույկի վերջնաժամկետը և ուղարկել էլ-նամակ, երբ աշխատանքային գիրքը բացվի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն տղաներ,


Մակրոն հիանալի է, բայց ես կցանկանայի մի բան հարցնել. եթե ցուցակում որևէ մարդ ունեք առանց որևէ ամսաթվի, ինչպե՞ս փոփոխել vba կոդը՝ այդ տղային բացառելու համար: Այժմ կոդը ստեղծում է էլեկտրոնային նամակներ նույնիսկ տղաների համար՝ առանց ամսաթվի:


Thanks!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Լվան,
Կոդը թարմացվել է խնդրի լուծման հետ, խնդրում ենք փորձել: Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Mail-ը ավտոմատ կերպով ստեղծվում է դատարկ տվյալներով սյունակների համար: Ես նույնպես կցանկանայի ունենալ թարմացված կոդը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շատ շնորհակալ եմ ներդրման համար: Ես կցանկանայի իմանալ, թե ինչպես օգտագործել ֆիքսված սյունակի ընտրությունը առանց kutools օգտագործելու: այսինքն թողնե՞լ ամսաթվերի, ստացականների և նախազգուշացումների լռելյայն սյունակները:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարի օր,
Ստորև բերված VBA կոդը կարող է օգնել ձեզ: Խնդրում ենք փորձել:

Public Sub CheckAndSendMail()
«Թարմացվել է Extendoffice 2018 / 11 / 22
Dim xRgDate As Range
Dim xRgSend as Range
Խոնավեցրեք xRgText-ը որպես տիրույթ
Dim xRgDone As Range
Dim xOutApp-ը որպես օբյեկտ
Dim xMailItem-ը որպես օբյեկտ
Dim xLastRow այնքան երկար
Dim vbCrLf As String
Dim xMailBody որպես տող
Dim xRgDateVal Որպես տող
Dim xRgSendVal որպես տող
Dim xMailSubject որպես տող
Dim i քանի դեռ
Ս.թ. սխալի Ռեզյումե Next
Սահմանեք xRgDate = Range("C2:C4") 'Խնդրում ենք հղում կատարել վերջնաժամկետի սյունակին
Եթե ​​xRgDate-ը ոչինչ է, ապա դուրս եկեք Sub
Սահմանեք xRgSend = Range("A2:A4") 'Խնդրում ենք հղում ստանալ հասցեատերերին էլփոստի սյունակին
Եթե ​​xRgSend-ը ոչինչ չէ, ապա դուրս եկեք Sub
Սահմանեք xRgText = Range («B2:B4») Մուտքագրեք հիշեցված բովանդակությամբ սյունակը ձեր էլ.
Եթե ​​xRgText-ը ոչինչ է, ապա դուրս եկեք Sub-ից
xLastRow = xRgDate.Rows.count
Սահմանել xRgDate = xRgDate (1)
Սահմանել xRgSend = xRgSend(1)
Սահմանել xRgText = xRgText (1)
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
i = 1-ի համար դեպի xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1) Value
Եթե ​​xRgDateVal <> "" Ապա
Եթե ​​CDate(xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate(xRgDateVal) - Ամսաթիվ > 0 Ապա
xRgSendVal = xRgSend.Offset(i - 1) Value
xMailSubject = xRgText.Offset(i - 1).Value & "on" & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & «Dear» & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text: " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Սահմանել xMailItem = xOutApp.CreateItem(0)
xMailItem-ի հետ
.Subject = xMailSubject
Դեպի = xRgSendVal
.HTMLBody = xMailBody
.Dուցադրել
'.Ուղարկել
Վերջ
Սահմանել xMailItem = Ոչինչ
Վերջ: Եթե
Վերջ: Եթե
հաջորդ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Կրիտալ,

Շնորհակալություն ձեր տարածման համար:

Ես սկսնակ եմ և կոդի հետ կապված խնդիր ունեմ։

xMailBody = ""
xMailBody = xMailBody & «Dear» & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text: " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""

Տեքստը նոր տող չէ:
Խնդրում եմ, կարող եք օգնել:

Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Նիթի,
Դուք պետք է ավելացնեք տողը vbCrLf = " «մրսածության դիմաց.
Ինչպիսիք են
vbCrLf = " «
xMailBody = ""
xMailBody = xMailBody & «Dear» & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text: " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Crystal, Ամսաթվերի սյունակը ընտրելիս կարելի՞ է տարբեր սյունակներում մի քանի բջիջ ընտրել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,
Պարոն Քրիսթալ, պարոն Իվանի հետ ձեր վերջին զրույցի ժամանակ նա ձեզանից խնդրեց կոդը, որպեսզի ամեն անգամ աղյուսակը բացելիս էլեկտրոնային նամակ ուղարկեք՝ ամեն անգամ կոդերը մուտքագրելու փոխարեն:
Ինձ պետք է նույն կոդը, նույն իրավիճակը, խնդրում եմ, կարո՞ղ եք օգնել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ճիշտ է, դա ոչ թե պարոն Իվանի, այլ պարոն Օստինի հետ էր։
Շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես օգտագործում եմ այս կոդի փոփոխված տարբերակը և բավականին նոր եմ VBA-ում: Ինձ հետաքրքրում էր, թե արդյոք հնարավորություն կա, թե երբ է էլփոստը ուղարկվելու, որ մակրոները կկարողանա նշել X-ը, կամ եթե ինչ-որ մեկն ավարտված է, էլփոստը չի ուղարկվի: Հուսով եմ, որ այս ամենը իմաստ ունի: Ցանկացած օգնություն շատ բարձր է գնահատվում:

Փոքրիկ նախապատմություն, ես օգտագործում եմ այս գործիքը՝ 30 օր, 60 օր և ժամկետանց ժամկետների ստուգում կատարելու համար: Ես ուզում եմ, որ 1 նամակ դուրս գա 30 օրվա ընթացքում, 1-ը 60 օրվա ընթացքում, և այնուհետև նույնպես ժամկետանց: Ես սա օգտագործում եմ իմ գրած VB սցենարից, որպեսզի կարողանամ ամեն օր ավտոմատացնել այն: Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես օգտագործում եմ այս կոդի փոփոխված տարբերակը և բավականին նոր եմ VBA-ում: Ինձ հետաքրքրում էր, թե արդյոք հնարավոր է, թե երբ է էլփոստը ուղարկվելու, որ մակրոները կկարողանա նշել X-ը, կամ եթե ինչ-որ մեկն ավարտված է, էլփոստը չի ուղարկվի: Հուսով եմ, որ այս ամենը իմաստ ունի: Ցանկացած օգնություն շատ բարձր է գնահատվում: Փոքրիկ նախապատմություն, ես օգտագործում եմ այս գործիքը՝ 30 օր, 60 օր և ժամկետանց ժամկետների ստուգում կատարելու համար: Ես ուզում եմ, որ 1 նամակ դուրս գա 30 օրվա ընթացքում, 1-ը 60 օրվա ընթացքում, և այնուհետև նույնպես ժամկետանց: Ես սա օգտագործում եմ իմ գրած VB սցենարից, որպեսզի կարողանամ ամեն օր ավտոմատացնել այն: Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, պարոն,

Սա շատ օգտակար է: Ինձ պետք է ևս 2 բարելավում նույն կոդերում: Ես պետք է ամեն անգամ սեղմեմ ուղարկել կոճակը, լավ է, քանի դեռ ունեմ 10 նամակ ուղարկելու, իսկ եթե ես ավելի քան 25 էլ. Այսպիսով, խնդրում եմ, տվեք ինձ կոդ, որպեսզի ավտոմատ կերպով էլ-նամակ ուղարկեմ՝ ընտրելով Վճարման ամսաթիվը, Ստացողը, Թեման և այլն:

Նաև խնդրում եմ ինձ տրամադրեք կոդը՝ «CC» տարբերակը նույնպես ավելացնելու համար


Շնորհակալություն

Հնչող Պ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարի օր,
Խնդրում եմ փորձեք ստորև բերված VBA կոդը, հուսով եմ, որ կարող եմ օգնել: Շնորհակալություն մեկնաբանելու համար:

Public Sub CheckAndSendMail()
«Թարմացվել է Extendoffice 2018 / 11 / 22
Dim xRgDate As Range
Dim xRgSend as Range
Խոնավեցրեք xRgText-ը որպես տիրույթ
Dim xRgDone As Range
Dim xOutApp-ը որպես օբյեկտ
Dim xMailItem-ը որպես օբյեկտ
Dim xLastRow այնքան երկար
Dim vbCrLf As String
Dim xMailBody որպես տող
Dim xRgDateVal Որպես տող
Dim xRgSendVal որպես տող
Dim xMailSubject որպես տող
Dim i քանի դեռ
Ս.թ. սխալի Ռեզյումե Next
Սահմանեք xRgDate = Application.InputBox («Խնդրում ենք ընտրել վերջնաժամկետի սյունակը.», «KuTools Excel-ի համար», , , , , , 8)
Եթե ​​xRgDate-ը ոչինչ է, ապա դուրս եկեք Sub
Սահմանել xRgSend = Application.InputBox («Խնդրում ենք ընտրել հասցեատերերին. էլփոստի սյունակ.», «KuTools For Excel», , , , , , 8)
Եթե ​​xRgSend-ը ոչինչ չէ, ապա դուրս եկեք Sub
Սահմանեք xRgCC = Application.InputBox («Խնդրում ենք ընտրել CC հասցեատերեր. էլփոստի սյունակ.», «KuTools For Excel», , , , , , 8)
Եթե ​​xRgCC-ը ոչինչ է, ապա դուրս եկեք Sub
Սահմանեք xRgText = Application.InputBox («Ընտրեք սյունակը հիշեցված բովանդակությամբ ձեր էլ.փոստում.», «KuTools For Excel», , , , , , 8)
Եթե ​​xRgText-ը ոչինչ է, ապա դուրս եկեք Sub-ից
xLastRow = xRgDate.Rows.Count
Սահմանել xRgDate = xRgDate (1)
Սահմանել xRgSend = xRgSend(1)
Սահմանել xRgCC = xRgCC (1)
Սահմանել xRgText = xRgText (1)
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
i = 1-ի համար դեպի xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1) Value
Եթե ​​xRgDateVal <> "" Ապա
Եթե ​​CDate(xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate(xRgDateVal) - Ամսաթիվ > 0 Ապա
xRgSendVal = xRgSend.Offset(i - 1) Value
xRgCCVal = xRgCC.Offset(i - 1).Արժեք
xMailSubject = xRgText.Offset(i - 1).Value & "on" & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & «Dear» & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text: " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Սահմանել xMailItem = xOutApp.CreateItem(0)
xMailItem-ի հետ
.Subject = xMailSubject
Դեպի = xRgSendVal
.Cc = xRgCCVal
.HTMLBody = xMailBody
.Ուղարկել
Վերջ
Սահմանել xMailItem = Ոչինչ
Վերջ: Եթե
Վերջ: Եթե
հաջորդ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ,

Շնորհակալություն կոդերի համար, քանի որ դա շատ օգտակար է: Բայց ինչպե՞ս անել, որ կոդը աշխատի, եթե ես օգտագործում եմ outlook.office.com:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
մարմնի մեջ ես ուզում եմ սյունակի a,b,c արժեքը աղյուսակի ձևաչափով, ինչպես օրինակ մարմնի սյունակում լրանալուց հետո, ես ուզում եմ տպել a,b,c բջիջների մանրամասները աղյուսակի ձևաչափով
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Դինեշ Բ.Ս.
Կներեք, չեմ կարող օգնել ձեզ այդ հարցում: Բարի գալուստ ցանկացած հարց տեղադրել մեր ֆորումում. https://www.extendoffice.com/forum.html.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես նոր եմ VBA-ում: Կա՞ միջոց այս ծրագիրը ավտոմատ կերպով գործարկելու ամեն անգամ, երբ ֆայլը բացվում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև L Echols,
Ֆայլը բացվելիս կոդը ավտոմատ կերպով գործարկելու համար խնդրում ենք կրկնակի սեղմել՝ բացելու ThisWorkbook ծածկագրի պատուհանը (գտնվում է Microsoft Visual Basic հավելվածների համար պատուհանի ձախ կողմում), առաջին բացվող ցանկից ընտրեք Workbook-ը, այնուհետև պատճենեք VBA կոդի վերևում (բացառությամբ առաջին և վերջին տողերի) կոդի պատուհանի մեջ և տեղադրեք տվյալ երկու տողերի միջև: Տես ստորև կցված սքրինշոթը.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հրաշալի է. Ես մտածում էի, թե կա՞ տարբերակ գործարկելու կոդը՝ առանց ամեն անգամ KuTools արժեքներն ընտրելու: Պարզաբանման համար ես մուտքագրեցի այս կոդը և այժմ, երբ բացում եմ աշխատանքային գրքույկը, դեռ պետք է ընդգծեմ նույն սյունակները: Կա՞ տարբերակ մուտքագրելու կոդը՝ ամեն անգամ նույն սյունակներում ստուգում կատարելու համար, քանի դեռ աշխատանքային գրքում փոփոխություններ չեն կատարվել, ստուգումը գործարկելու և նշված չեկի հիման վրա էլփոստ ձևակերպելու համար: Նախապես շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Դենի,
Խնդրում ենք փորձել ստորև բերված կոդը և փոխել միջակայքերը ըստ անհրաժեշտության:

Public Sub CheckAndSendMail()
«Թարմացվել է Extendoffice 2019 / 5 / 17
Dim xRgDate As Range
Dim xRgSend as Range
Խոնավեցրեք xRgText-ը որպես տիրույթ
Dim xRgDone As Range
Dim xOutApp-ը որպես օբյեկտ
Dim xMailItem-ը որպես օբյեկտ
Dim xLastRow այնքան երկար
Dim vbCrLf As String
Dim xMailBody որպես տող
Dim xRgDateVal Որպես տող
Dim xRgSendVal որպես տող
Dim xMailSubject որպես տող
Dim i քանի դեռ
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xRgDate = միջակայք («C2: C4»)
Եթե ​​xRgDate-ը ոչինչ է, ապա դուրս եկեք Sub
Սահմանել xRgSend = միջակայք («A2: A4»)
Եթե ​​xRgSend-ը ոչինչ չէ, ապա դուրս եկեք Sub
Սահմանել xRgText = միջակայք («B2:B4»)
Եթե ​​xRgText-ը ոչինչ է, ապա դուրս եկեք Sub-ից
xLastRow = xRgDate.Rows.Count
Սահմանել xRgDate = xRgDate (1)
Սահմանել xRgSend = xRgSend(1)
Սահմանել xRgText = xRgText (1)
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
i = 1-ի համար դեպի xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1) Value
Եթե ​​xRgDateVal <> "" Ապա
Եթե ​​CDate(xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate(xRgDateVal) - Ամսաթիվ > 0 Ապա
xRgSendVal = xRgSend.Offset(i - 1) Value
xMailSubject = xRgText.Offset(i - 1).Value & "on" & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & «Dear» & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text: " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Սահմանել xMailItem = xOutApp.CreateItem(0)
xMailItem-ի հետ
.Subject = xMailSubject
Դեպի = xRgSendVal
.HTMLBody = xMailBody
.Dուցադրել
'.Ուղարկել
Վերջ
Սահմանել xMailItem = Ոչինչ
Վերջ: Եթե
Վերջ: Եթե
հաջորդ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հրաշալի է. Ես մտածում էի, թե կա՞ տարբերակ գործարկելու կոդը՝ առանց ամեն անգամ KuTools արժեքներն ընտրելու: Պարզաբանման համար ես մուտքագրեցի այս կոդը և այժմ, երբ բացում եմ աշխատանքային գրքույկը, դեռ պետք է ընդգծեմ նույն սյունակները: Կա՞ տարբերակ մուտքագրելու կոդը՝ ամեն անգամ նույն սյունակներում ստուգում կատարելու համար, քանի դեռ աշխատանքային գրքում փոփոխություններ չեն կատարվել, ստուգումը գործարկելու և նշված չեկի հիման վրա էլփոստ ձևակերպելու համար: Նախապես շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ,
Ես ֆայլը բացելուց հետո էլփոստի ավտոմատ ուղարկման խնդիր ունեմ: Օրինակ, ես ունեմ բոլոր ժամկետների մասին տեղեկությունները Sheet1-ում: Այնուամենայնիվ, եթե ես պահեմ և փակեմ ֆայլը, երբ աշխատում էի Sheet2-ի վրա, հենց որ բացեմ ֆայլը, նամակներ ուղարկելու արժեքները հիմնված կլինեն Sheet2-ի և ոչ թե Sheet1-ի վրա: Ես միայն մոդուլ ունեմ ավելացված Sheet1-ում և ThisWorkbook-ում: Կարծում եմ, որ ThisWorkbook-ում նույն vba-ն ունենալը խթանում է ավտոմատ էլ. Ինչպե՞ս կարող եմ սահմանափակել VBA-ն որոշակի թերթիկից արժեք հանելու համար և նաև նամակներ ուղարկել, երբ ֆայլը բացվի: Նախապես շատ շնորհակալ եմ ձեր օգնության համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես նոր եմ VBA-ում: Կա՞ միջոց այս ծրագիրը ավտոմատ կերպով գործարկելու ամեն անգամ, երբ ֆայլը բացվում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այո, հետ


Մասնավոր ենթագիրք_Բաց()
*Մուտքագրեք կոդը այստեղ*
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Ես հարց ունեմ,

Եթե ​​ես ուզում եմ ընտրել բջիջների նախնական տիրույթ, ինչպես կարող եմ փոփոխել կոդը այս մասում.

xLastRow = xRgDate.Rows.Count
Սահմանել xRgDate = xRgDate (1)

Բջիջները ինքնաբերաբար կարգավորե՞լ:

Շնորհակալություն :)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Եթե ​​դուք չեք ցանկանում ամեն անգամ ծածկագիրը կիրառելիս ձեռքով ընտրել միջակայքերը, խնդրում ենք օգտագործել ստորև նշված կոդը:

Public Sub CheckAndSendMail()
«Թարմացվել է Extendoffice 2019 / 12 / 10
Dim xRgDate As Range
Dim xRgSend as Range
Խոնավեցրեք xRgText-ը որպես տիրույթ
Dim xRgDone As Range
Dim xOutApp-ը որպես օբյեկտ
Dim xMailItem-ը որպես օբյեկտ
Dim xLastRow այնքան երկար
Dim vbCrLf As String
Dim xMailBody որպես տող
Dim xRgDateVal Որպես տող
Dim xRgSendVal որպես տող
Dim xMailSubject որպես տող
Dim i քանի դեռ
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xRgDate = միջակայք («C2: C4»)
Եթե ​​xRgDate-ը ոչինչ է, ապա դուրս եկեք Sub
Սահմանել xRgSend = միջակայք («A2: A4»)
Եթե ​​xRgSend-ը ոչինչ չէ, ապա դուրս եկեք Sub
Սահմանել xRgText = միջակայք («B2:B4»)
Եթե ​​xRgText-ը ոչինչ է, ապա դուրս եկեք Sub-ից
xLastRow = xRgDate.Rows.Count
Սահմանել xRgDate = xRgDate (1)
Սահմանել xRgSend = xRgSend(1)
Սահմանել xRgText = xRgText (1)
Սահմանեք xOutApp = CreateObject («Outlook.Application»)
i = 1-ի համար դեպի xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1) Value
Եթե ​​xRgDateVal <> "" Ապա
Եթե ​​CDate(xRgDateVal) - Ամսաթիվ <= 7 Իսկ CDate(xRgDateVal) - Ամսաթիվ > 0 Ապա
xRgSendVal = xRgSend.Offset(i - 1) Value
xMailSubject = xRgText.Offset(i - 1).Value & "on" & xRgDateVal
vbCrLf = "

"
xMailBody = ""
xMailBody = xMailBody & «Dear» & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text: " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Սահմանել xMailItem = xOutApp.CreateItem(0)
xMailItem-ի հետ
.Subject = xMailSubject
Դեպի = xRgSendVal
.HTMLBody = xMailBody
.Dուցադրել
'.Ուղարկել
Վերջ
Սահմանել xMailItem = Ոչինչ
Վերջ: Եթե
Վերջ: Եթե
հաջորդ
Սահմանել xOutApp = Ոչինչ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բուենոս այո! ¿que modificación tendría que realizar para dejar seleccionadas las celdas con la información de fecha, texto y correo y no tener que seleccionarlas cada vez que se activa la macro?

también me gustaría saber como introducir un CC, es decir, poder poner a otra persona en copia del correo. Շնորհակալ եմ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հա՜ Pudiste solucionar esto? Estoy necesitando lo mismo.. gracias!
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

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