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

Sut i anfon e-bost os yw'r dyddiad dyledus wedi'i fodloni yn Excel?

Fel y dangosir yn y sgrinlun isod, os yw'r dyddiad dyledus yng ngholofn C yn llai na neu'n hafal i 7 diwrnod (er enghraifft, y dyddiad cyfredol yw 2017/9/13), anfonir e-bost at y derbynnydd penodedig yng ngholofn A a'r mae cynnwys penodedig yng ngholofn B yn cael ei ddosbarthu yng nghorff yr e-bost. Sut allech chi ei wneud i'w gyflawni? Mae'r erthygl hon yn darparu cod VBA i'ch helpu i gyflawni'r dasg hon.

Anfon e-bost os yw'r dyddiad dyledus wedi'i fodloni â chod VBA


Anfon e-bost os yw'r dyddiad dyledus wedi'i fodloni â chod VBA


Gwnewch fel a ganlyn i anfon nodyn atgoffa e-bost os yw'r dyddiad dyledus wedi'i fodloni yn Excel.

1. Gwasgwch y Alt + F11 allweddi ar yr un pryd i agor y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

2. Yn y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, cliciwch Mewnosod > Modiwlau. Yna copïwch a gludwch y cod VBA isod i mewn i ffenestr y Modiwl.

Cod VBA: Anfon e-bost os yw'r dyddiad dyledus ar gau yn 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

Nodiadau: Y llinell Os CDate (xRgDateVal) - Dyddiad <= 7 Ac CDate (xRgDateVal) - Dyddiad> 0 Yna yn y cod VBA yn golygu bod yn rhaid i'r dyddiad dyledus fod yn fwy nag 1 diwrnod ac yn llai na neu'n hafal i 7 diwrnod. Gallwch ei newid yn ôl yr angen.

3. Gwasgwch y Allwedd F5 i redeg y cod. Yn y popping cyntaf Kutools ar gyfer Excel blwch deialog, dewiswch yr ystod colofn dyddiad dyledus ac yna cliciwch ar y OK botwm. Gweler y screenshot:

4. Yna'r ail Kutools ar gyfer Excel blwch deialog yn ymddangos, dewiswch yr ystod golofn gyfatebol sy'n cynnwys cyfeiriadau e-bost y derbynwyr, a chliciwch ar y OK botwm. Gweler y screenshot:

5. Yn yr olaf Kutools ar gyfer Excel blwch deialog, dewiswch y cynnwys rydych chi am ei arddangos yn y corff e-bost, ac yna cliciwch ar y OK botwm.

Yna bydd e-bost yn cael ei greu yn awtomatig gyda'r derbynnydd, pwnc a chorff penodedig wedi'i restru os yw'r dyddiad dyledus yng ngholofn C yn llai na neu'n hafal i 7 diwrnod. Cliciwch y anfon botwm i anfon yr e-bost.

Nodiadau:

1. Mae pob e-bost a grëir yn cyfateb i ddyddiad dyledus. Er enghraifft, os oes tri dyddiad dyledus sy'n cwrdd â'r meini prawf, bydd tair neges e-bost yn cael eu creu yn awtomatig.

2. Ni fydd y cod hwn yn cael ei sbarduno os nad oes dyddiadau sy'n cwrdd â'r meini prawf.

3. Dim ond pan fyddwch chi'n defnyddio Outlook fel eich rhaglen e-bost y mae'r cod VBA yn gweithio.


Erthyglau cysylltiedig:


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (116)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch am rannu.


Sut fyddech chi'n ychwanegu mewnbynnau Cc neu dderbynwyr lluosog?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Brandon,

Mae'n ddrwg gennyf wneud sylw ar eich post heb ateb ond a oeddech chi'n gallu cael y cod VBA i anfon e-bost?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Defnyddiais eich cod VBA ar gyfer anfon e-byst yn seiliedig ar werth cell ond nid yw'n gweithio.
Mae popeth hyd at gam 5 yn gweithio ond ni anfonir e-bost. A all unrhyw un fy helpu gyda hyn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Me viene muy bien gracias por el aporte, solo me falta mar puedo hacerlo automaticamente sin anghenraid de hacerlo manualmente el envio del correo.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rhewodd y cod hwn fy rhaglen excel pan wnes i ei redeg. A yw'r cof yn ddwys?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi Robert,
Nid yw'r broblem a grybwyllwyd gennych yn ymddangos yn fy achos i. A gaf i eich fersiwn Office?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
a allwn ni fewnbynnu'r manylion un tro a gellir anfon yr e-byst yn awtomatig, yn hytrach na bod angen dewis y colofnau bob amser?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Diyaa,
Os nad ydych am ddewis y colofnau â llaw, cymhwyswch y cod VBA isod.
Nodyn: Nid oes ond angen i chi ddewis y golofn dyddiadau dyledus ar ôl cymhwyso'r cod.

Is-wiriad CyhoeddusAndSendMail()
'Diweddarwyd gan Extendoffice 2017/9/14
Dim xRgDate Fel Ystod
Dim xRgSend Fel Ystod
Dim xRgText Fel Ystod
Dim xRgDone Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xLastRow Cyhyd
Dim vbCrLf Fel Llinyn
Dim xMailBody Fel Llinyn
Dim xRgDateVal Fel Llinyn
Dim xRgSendVal Fel Llinyn
Dim xMailPwnc Fel Llinynnol
Dim I Cyn Hir
Ar Ail-ddechrau Gwall Nesaf
Gosod xRgDate = Application.InputBox("Dewiswch y golofn dyddiad dyledus:"", "KuTools For Excel", , , , , , , 8)
Os Nad yw xRgDate yn Ddim Yna Ymadael Is
xLastRow = xRgDate.Rows.Count
Gosod xRgDate = xRgDate(1)
Gosod xRgSend = xRgSend(1)
Gosod xRgText = xRgText(1)
Gosod xOutApp = CreateObject ("Outlook.Application")
Am I = 1 I xLastRow
xRgDateVal = xRgDate.Offset(I - 1).Gwerth
Os CDate(xRgDateVal) - Dyddiad <= 7 A CDate(xRgDateVal) - Dyddiad> 0 Yna
xRgSendVal = xRgSend.Offset(I - 1).Gwerth
xMailSubject = xRgText.Offset(I - 1).Gwerth & " ar " & xRgDateVal
vbCrLf = "

"
xMailBody = "Helo yno" & vbNewLine & vbNewLine&_
msgstr "Dyma llinell 1" &vbNewLine&_
"Dyma llinell 2"
Gosod xMailItem = xOutApp.CreateItem(0)
Gyda xMailItem
.To = "Cyfeiriad E-bost"
.CC = ""
.BCC = ""
.Subject = "anfon trwy brawf gwerth celloedd"
.Corff = xMailBody
.Display' neu ddefnyddio .Send
Diwedd Gyda
Gosod xMailItem = Dim byd
Gorffennwch Os
Digwyddiadau
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,
Rwyf hefyd yn eithaf llawer o ddechreuwr a hoffwn ofyn cwestiwn arall ar gyfer eich Is-adran wych.

Sut alla' i anfon e-bost dim ond os oes cyfeiriad post penodol yn y gell ynghylch?

Mae angen hyn arnaf, oherwydd yn fy nheleryn excel rhoddais rai botymau ar waith ar gyfer pob person, sydd angen nodyn atgoffa.

Diolch yn fawr iawn ymlaen llaw!!

Thomas
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi Thomas,
Rydym wedi postio erthygl "Sut i anfon e-bost i gyfeiriadau e-bost a nodir mewn celloedd yn Excel?"
https://www.extendoffice.com/documents/excel/4717-excel-macro-send-email-to-address-in-cells.html
Efallai y gallwch chi ddod o hyd i'ch ateb yn yr erthygl hon.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae angen hyn arnaf i weithio ar draws yr holl daflenni gwaith mewn llyfr gwaith bydd y dyddiad dyfodol yn cael ei nodi â llaw yn yr un gell ar bob dalen a bydd taflenni newydd yn cael eu creu bob dydd. Rwyf hefyd angen enw'r daflen waith yn yr e-bost felly byddaf yn gwybod pa daflen sy'n ddyledus
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae'n ddrwg gennym ni all eich helpu gyda hyn.
Croeso i bostio unrhyw gwestiwn am Excel i'n fforwm: https://www.extendoffice.com/forum.html. Byddwch yn cael mwy o gefnogaeth Excel gan ein cefnogwyr Excel proffesiynol neu eraill.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Peidiwch â'i gael i weithio. Gan ddefnyddio Office 365 felly dylai Outlook ac Excel fod yn ddigon tynn. Fel yn y post o "schou" 4 mis yn ôl, mae'n gweithio hyd at gam 5 ond wedyn dim byd.
Ateb i hyn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae gen i excel i anfon yr e-bost, ond a allaf osod hwn felly mae'n anfon e-bost bob tro rwy'n agor excel yn lle dewis y colofnau bob tro.

Mae gen i lyfr gwaith gyda 24 tudalen felly rydw i'n edrych i e-bostio'n awtomatig pan fydd y llyfr gwaith yn cael ei agor.


Diolch yn fawr.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
A ydych yn golygu gwirio am y dyddiad dyledus yn awtomatig ar draws y llyfr gwaith ac anfon e-bost pan fydd y llyfr gwaith yn cael ei agor?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi guys,


Mae Macro yn wych ond hoffwn ofyn rhywbeth - os oes gennych rywun ar y rhestr heb unrhyw ddyddiad sut i addasu'r cod vba i eithrio'r boi hwnnw? Nawr mae'r cod yn cynhyrchu e-byst hyd yn oed ar gyfer y dynion heb unrhyw ddyddiad.


Diolch!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Lvan,
Mae'r cod wedi'i ddiweddaru gyda'r datrys problemau, rhowch gynnig arni. Diolch i chi am eich sylw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, mae Mail yn cynhyrchu'n awtomatig ar gyfer colofnau gyda data gwag. Hoffwn innau hefyd gael y cod wedi'i ddiweddaru.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr iawn am y cyfraniad. Hoffwn wybod sut i ddefnyddio dewis colofn sefydlog heb orfod defnyddio kutools? hynny yw, gadael colofnau rhagosodedig o ddyddiadau, derbynebau, a rhybuddion?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Da dydd,
Gall y cod VBA isod eich helpu. Rhowch gynnig arni.

Is-wiriad CyhoeddusAndSendMail()
'Diweddarwyd gan Extendoffice 2018/11/22
Dim xRgDate Fel Ystod
Dim xRgSend Fel Ystod
Dim xRgText Fel Ystod
Dim xRgDone Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xLastRow Cyhyd
Dim vbCrLf Fel Llinyn
Dim xMailBody Fel Llinyn
Dim xRgDateVal Fel Llinyn
Dim xRgSendVal Fel Llinyn
Dim xMailPwnc Fel Llinynnol
Dim i Cyhyd
Ar Ail-ddechrau Gwall Nesaf
Gosod xRgDate = Ystod ("C2:C4") 'Cyfeiriwch at y golofn dyddiad dyledus
Os Nad yw xRgDate yn Ddim Yna Ymadael Is
Gosod xRgSend = Ystod ("A2:A4") 'Cyfeiriwch at y golofn e-bost derbynwyr?
Os yw xRgSend Yn Dim Yna Ymadael Is
Gosod xRgText = Ystod ("B2:B4") Rhowch y golofn gyda chynnwys wedi'i atgoffa yn eich e-bost
Os Nad yw xRgText Yn Ddim Yna Ymadael Is
xLastRow = xRgDate.Rows.count
Gosod xRgDate = xRgDate(1)
Gosod xRgSend = xRgSend(1)
Gosod xRgText = xRgText(1)
Gosod xOutApp = CreateObject ("Outlook.Application")
Am i = 1 I xLastRow
xRgDateVal=""
xRgDateVal = xRgDate.Offset(i - 1).Gwerth
Os xRgDateVal <> "" Yna
Os CDate(xRgDateVal) - Dyddiad <= 7 A CDate(xRgDateVal) - Dyddiad> 0 Yna
xRgSendVal = xRgSend.Offset(i - 1).Gwerth
xMailSubject = xRgText.Offset(i - 1).Gwerth & " ar " & xRgDateVal
vbCrLf = "

"
xMailBody=""
xMailBody = xMailBody & " Annwyl " & xRgSendVal & vbCrLf
xMailBody = xMailBody & " Testun : " & xRgText.Offset(i - 1).Gwerth & vbCrLf
xMailBody = xMailBody & ""
Gosod xMailItem = xOutApp.CreateItem(0)
Gyda xMailItem
.Subject = xMailSubject
.To=xRgSendVal
.HTMLBody = xMailBody
.Arddangos
'.Anfon
Diwedd Gyda
Gosod xMailItem = Dim byd
Gorffennwch Os
Gorffennwch Os
Digwyddiadau
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Crytal,

Diolch am eich rhannu.

Rwy'n ddechreuwr ac mae gennyf broblem gyda chod.

xMailBody=""
xMailBody = xMailBody & " Annwyl " & xRgSendVal & vbCrLf
xMailBody = xMailBody & " Testun : " & xRgText.Offset(i - 1).Gwerth & vbCrLf
xMailBody = xMailBody & ""

Nid yw'r testun yn mynd i linell newydd.
A allech chi helpu os gwelwch yn dda.

diolch
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Niti,
Mae angen i chi ychwanegu'r llinell vbCrLf = " " o flaen yr annwyd.
O'r fath fel:
vbCrLf = " "
xMailBody=""
xMailBody = xMailBody & " Annwyl " & xRgSendVal & vbCrLf
xMailBody = xMailBody & " Testun : " & xRgText.Offset(i - 1).Gwerth & vbCrLf
xMailBody = xMailBody & ""
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Grisial, Wrth ddewis y golofn dyddiadau, A ellir dewis celloedd lluosog mewn gwahanol golofnau?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,
Mr Crystal, yn eich sgwrs ddiwethaf gyda Mr Ivan, gofynnodd i chi am y cod i anfon e-bost bob tro y daenlen yn cael ei hagor yn hytrach na mynd i mewn i'r codau bob tro.
Mae angen yr un cod arnaf, yr un sefyllfa, a allwch chi helpu os gwelwch yn dda?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Yn gywir, nid gyda Mr. Ivan, ond gyda Mr. Austin.
Diolch yn fawr.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, rydw i'n defnyddio fersiwn wedi'i addasu o'r cod hwn, ac rydw i braidd yn newydd i VBA. Roeddwn yn chwilfrydig os oedd posibilrwydd pan fyddai'r e-bost yn cael ei anfon, y byddai'r macro yn gallu marcio X, neu pe bai rhywun wedi Cwblhau, na fyddai e-bost yn ei anfon. Rwy'n gobeithio bod hyn i gyd yn gwneud synnwyr. Gwerthfawrogir unrhyw gymorth yn fawr iawn.

Ychydig o gefndir, rwy'n defnyddio'r offeryn hwn i redeg gwiriad dyddiad dyledus ar 30 diwrnod, 60 diwrnod, ac yn hwyr. Rwyf am i 1 e-bost fynd allan ar 30 diwrnod, 1 am 60 diwrnod, ac yna'n hwyr hefyd. Rwy'n rhedeg hyn i ffwrdd o sgript VB a ysgrifennais, fel y gallwn ei awtomeiddio bob dydd. Diolch!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, rydw i'n defnyddio fersiwn wedi'i addasu o'r cod hwn, ac rydw i braidd yn newydd i VBA. Roeddwn yn chwilfrydig os oedd posibilrwydd pan fyddai'r e-bost yn cael ei anfon, y byddai'r macro yn gallu marcio X, neu pe bai rhywun wedi Cwblhau, na fyddai e-bost yn ei anfon. Rwy'n gobeithio bod hyn i gyd yn gwneud synnwyr. Gwerthfawrogir unrhyw gymorth yn fawr iawn. Ychydig o gefndir, rwy'n defnyddio'r offeryn hwn i redeg gwiriad dyddiad dyledus ar 30 diwrnod, 60 diwrnod, ac yn hwyr. Rwyf am i 1 e-bost fynd allan ar 30 diwrnod, 1 am 60 diwrnod, ac yna'n hwyr hefyd. Rwy'n rhedeg hyn i ffwrdd o sgript VB a ysgrifennais, fel y gallwn ei awtomeiddio bob dydd. Diolch!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Syr,

Mae hyn yn ddefnyddiol iawn. Dwi angen 2 ychwanegiad arall yn yr un codau. Mae'n rhaid i mi glicio ar y botwm anfon bob tro, mae'n iawn cyn belled bod gen i 10 e-bost i'w hanfon, beth os ydw i> 25 e-bost i'w hanfon mewn un diwrnod. Felly rhowch god i mi anfon e-bost yn awtomatig ar ôl dewis Dyddiad Dyledus, Derbynnydd, Pwnc ac ati.

Hefyd, rhowch y cod i mi ychwanegu opsiwn "CC" hefyd


diolch

seiniwr P
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Da dydd,
Rhowch gynnig ar y cod VBA isod, gobeithio y gallaf helpu. Diolch am roi sylwadau.

Is-wiriad CyhoeddusAndSendMail()
'Diweddarwyd gan Extendoffice 2018/11/22
Dim xRgDate Fel Ystod
Dim xRgSend Fel Ystod
Dim xRgText Fel Ystod
Dim xRgDone Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xLastRow Cyhyd
Dim vbCrLf Fel Llinyn
Dim xMailBody Fel Llinyn
Dim xRgDateVal Fel Llinyn
Dim xRgSendVal Fel Llinyn
Dim xMailPwnc Fel Llinynnol
Dim i Cyhyd
Ar Ail-ddechrau Gwall Nesaf
Gosod xRgDate = Application.InputBox("Dewiswch y golofn dyddiad dyledus:"", "KuTools For Excel", , , , , , , 8)
Os Nad yw xRgDate yn Ddim Yna Ymadael Is
Gosod xRgSend = Application.InputBox ("Dewiswch y derbynwyr? golofn e-bost:"", "KuTools Ar gyfer Excel", , , , , , , 8)
Os yw xRgSend Yn Dim Yna Ymadael Is
Gosod xRgCC = Application.InputBox("Dewiswch y derbynwyr CC? golofn e-bost:", "KuTools Ar gyfer Excel", , , , , , , 8)
Os yw xRgCC Yn Dim Yna Ymadael Is
Gosod xRgText = Application.InputBox("Dewiswch y golofn gyda chynnwys wedi'i atgoffa yn eich e-bost:"", "KuTools For Excel", , , , , , , 8)
Os Nad yw xRgText Yn Ddim Yna Ymadael Is
xLastRow = xRgDate.Rows.Count
Gosod xRgDate = xRgDate(1)
Gosod xRgSend = xRgSend(1)
Gosod xRgCC = xRgCC(1)
Gosod xRgText = xRgText(1)
Gosod xOutApp = CreateObject ("Outlook.Application")
Am i = 1 I xLastRow
xRgDateVal=""
xRgDateVal = xRgDate.Offset(i - 1).Gwerth
Os xRgDateVal <> "" Yna
Os CDate(xRgDateVal) - Dyddiad <= 7 A CDate(xRgDateVal) - Dyddiad> 0 Yna
xRgSendVal = xRgSend.Offset(i - 1).Gwerth
xRgCCVal = xRgCC.Offset(i - 1).Gwerth
xMailSubject = xRgText.Offset(i - 1).Gwerth & " ar " & xRgDateVal
vbCrLf = "

"
xMailBody=""
xMailBody = xMailBody & " Annwyl " & xRgSendVal & vbCrLf
xMailBody = xMailBody & " Testun : " & xRgText.Offset(i - 1).Gwerth & vbCrLf
xMailBody = xMailBody & ""
Gosod xMailItem = xOutApp.CreateItem(0)
Gyda xMailItem
.Subject = xMailSubject
.To=xRgSendVal
.Cc=xRgCCVal
.HTMLBody = xMailBody
.Anfon
Diwedd Gyda
Gosod xMailItem = Dim byd
Gorffennwch Os
Gorffennwch Os
Digwyddiadau
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Diolch am y codau gan ei fod yn ddefnyddiol iawn. Ond sut i wneud i'r cod weithio os ydw i'n defnyddio outlook.office.com?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
yn y corff rydw i eisiau gwerth colofn a, b, c mewn fformat tabl, fel y dyddiad dod i ben ar ôl cyrraedd yng ngholofn y corff rydw i eisiau argraffu manylion celloedd a, b, c ar ffurf tabl
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Dinesh BS,
Mae'n ddrwg gennym ni all eich helpu gyda hynny. Croeso i bostio unrhyw gwestiwn yn ein fforwm: https://www.extendoffice.com/forum.html.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, dwi'n newydd i VBA. A oes ffordd i gael y rhaglen hon yn rhedeg yn awtomatig pryd bynnag y ffeil yn cael ei hagor?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo L Echols,
I redeg y cod yn awtomatig pan fydd y ffeil yn cael ei hagor, cliciwch ddwywaith i agor ffenestr cod ThisWorkbook (wedi'i lleoli yn ochr chwith ffenestr Microsoft Visual Basic for Applications), dewiswch Workbook o'r gwymplen gyntaf, ac yna copïwch y uwchben cod VBA (ac eithrio'r llinell gyntaf a'r llinell olaf) i'r ffenestr cod a'i gludo rhwng y ddwy linell a roddir. Gweler y sgrin lun isod:
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae hyn yn arbennig. Roeddwn i'n meddwl tybed a oes ffordd i redeg y cod heb orfod dewis gwerthoedd KuTools bob tro? Er eglurhad, rhoddais y cod hwn a nawr pryd bynnag y byddaf yn agor y llyfr gwaith mae'n rhaid i mi dynnu sylw at yr un colofnau o hyd. A oes ffordd i fewnbynnu'r cod i redeg siec ar yr un colofnau bob tro - cyn belled nad oes unrhyw olygiadau i'r llyfr gwaith - i redeg y siec a ffurfio e-bost yn seiliedig ar y siec honno? Diolch ymlaen llaw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Danny,
Rhowch gynnig ar y cod isod a newidiwch yr ystodau yn ôl yr angen.

Is-wiriad CyhoeddusAndSendMail()
'Diweddarwyd gan Extendoffice 2019/5/17
Dim xRgDate Fel Ystod
Dim xRgSend Fel Ystod
Dim xRgText Fel Ystod
Dim xRgDone Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xLastRow Cyhyd
Dim vbCrLf Fel Llinyn
Dim xMailBody Fel Llinyn
Dim xRgDateVal Fel Llinyn
Dim xRgSendVal Fel Llinyn
Dim xMailPwnc Fel Llinynnol
Dim i Cyhyd
Ar Ail-ddechrau Gwall Nesaf
Gosod xRgDate = Ystod ("C2: C4")
Os Nad yw xRgDate yn Ddim Yna Ymadael Is
Gosod xRgSend = Ystod ("A2: A4")
Os yw xRgSend Yn Dim Yna Ymadael Is
Gosod xRgText = Ystod ("B2: B4")
Os Nad yw xRgText Yn Ddim Yna Ymadael Is
xLastRow = xRgDate.Rows.Count
Gosod xRgDate = xRgDate(1)
Gosod xRgSend = xRgSend(1)
Gosod xRgText = xRgText(1)
Gosod xOutApp = CreateObject ("Outlook.Application")
Am i = 1 I xLastRow
xRgDateVal=""
xRgDateVal = xRgDate.Offset(i - 1).Gwerth
Os xRgDateVal <> "" Yna
Os CDate(xRgDateVal) - Dyddiad <= 7 A CDate(xRgDateVal) - Dyddiad> 0 Yna
xRgSendVal = xRgSend.Offset(i - 1).Gwerth
xMailSubject = xRgText.Offset(i - 1).Gwerth & " ar " & xRgDateVal
vbCrLf = "

"
xMailBody=""
xMailBody = xMailBody & " Annwyl " & xRgSendVal & vbCrLf
xMailBody = xMailBody & " Testun : " & xRgText.Offset(i - 1).Gwerth & vbCrLf
xMailBody = xMailBody & ""
Gosod xMailItem = xOutApp.CreateItem(0)
Gyda xMailItem
.Subject = xMailSubject
.To=xRgSendVal
.HTMLBody = xMailBody
.Arddangos
'.Anfon
Diwedd Gyda
Gosod xMailItem = Dim byd
Gorffennwch Os
Gorffennwch Os
Digwyddiadau
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae hyn yn arbennig. Roeddwn i'n meddwl tybed a oes ffordd i redeg y cod heb orfod dewis gwerthoedd KuTools bob tro? Er eglurhad, rhoddais y cod hwn a nawr pryd bynnag y byddaf yn agor y llyfr gwaith mae'n rhaid i mi dynnu sylw at yr un colofnau o hyd. A oes ffordd i fewnbynnu'r cod i redeg siec ar yr un colofnau bob tro - cyn belled nad oes unrhyw olygiadau i'r llyfr gwaith - i redeg y siec a ffurfio e-bost yn seiliedig ar y siec honno? Diolch ymlaen llaw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Grisial,
Rwy'n cael problem gydag anfon e-bost yn awtomatig unwaith y bydd y ffeil yn cael ei hagor. Er enghraifft, mae gennyf yr holl wybodaeth dyddiad dyledus ar Daflen 1. Fodd bynnag, os byddaf yn cadw ac yn cau'r ffeil pan oeddwn yn gweithio ar Daflen2, cyn gynted ag y byddaf yn agor y ffeil, bydd y gwerthoedd i anfon e-byst yn seiliedig ar Daflen2 ac nid ar Daflen1. Dim ond modiwl sydd gennyf ar Daflen 1 a'r Llyfr Gwaith Hwn. Rwy'n meddwl bod cael yr un vba ar ThisWorkbook yn sbarduno anfon e-byst awtomatig ar ba bynnag ddalen sydd gennyf ar agor ar hyn o bryd. Sut alla i gyfyngu ar y VBA i dynnu gwerth o ddalen benodol a hefyd anfon e-byst pan agorir y ffeil? Diolch yn fawr iawn am eich cymorth ymlaen llaw!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n newydd i VBA. A oes ffordd i redeg y rhaglen hon yn awtomatig pryd bynnag y bydd y ffeil yn cael ei hagor?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Ie, gyda


Is-lyfr gwaith preifat_Agored()
*Rhowch y cod yma*
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,

Mae gen i cwestiwn,

Os wyf am ddewis ystod rhagderfynedig o gelloedd, sut allwn i addasu'r cod yn y rhan hon:

xLastRow = xRgDate.Rows.Count
Gosod xRgDate = xRgDate(1)

Toset yn awtomatig y celloedd?

Diolch :)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Os nad ydych chi eisiau dewis ystodau â llaw bob tro wrth gymhwyso'r cod, defnyddiwch y cod isod.

Is-wiriad CyhoeddusAndSendMail()
'Diweddarwyd gan Extendoffice 2019/12/10
Dim xRgDate Fel Ystod
Dim xRgSend Fel Ystod
Dim xRgText Fel Ystod
Dim xRgDone Fel Ystod
Dim xOutApp Fel Gwrthrych
Dim xMailItem Fel Gwrthrych
Dim xLastRow Cyhyd
Dim vbCrLf Fel Llinyn
Dim xMailBody Fel Llinyn
Dim xRgDateVal Fel Llinyn
Dim xRgSendVal Fel Llinyn
Dim xMailPwnc Fel Llinynnol
Dim i Cyhyd
Ar Ail-ddechrau Gwall Nesaf
Gosod xRgDate = Ystod ("C2: C4")
Os Nad yw xRgDate yn Ddim Yna Ymadael Is
Gosod xRgSend = Ystod ("A2: A4")
Os yw xRgSend Yn Dim Yna Ymadael Is
Gosod xRgText = Ystod ("B2: B4")
Os Nad yw xRgText Yn Ddim Yna Ymadael Is
xLastRow = xRgDate.Rows.Count
Gosod xRgDate = xRgDate(1)
Gosod xRgSend = xRgSend(1)
Gosod xRgText = xRgText(1)
Gosod xOutApp = CreateObject ("Outlook.Application")
Am i = 1 I xLastRow
xRgDateVal=""
xRgDateVal = xRgDate.Offset(i - 1).Gwerth
Os xRgDateVal <> "" Yna
Os CDate(xRgDateVal) - Dyddiad <= 7 A CDate(xRgDateVal) - Dyddiad> 0 Yna
xRgSendVal = xRgSend.Offset(i - 1).Gwerth
xMailSubject = xRgText.Offset(i - 1).Gwerth & " ar " & xRgDateVal
vbCrLf = "

"
xMailBody=""
xMailBody = xMailBody & " Annwyl " & xRgSendVal & vbCrLf
xMailBody = xMailBody & " Testun : " & xRgText.Offset(i - 1).Gwerth & vbCrLf
xMailBody = xMailBody & ""
Gosod xMailItem = xOutApp.CreateItem(0)
Gyda xMailItem
.Subject = xMailSubject
.To=xRgSendVal
.HTMLBody = xMailBody
.Arddangos
'.Anfon
Diwedd Gyda
Gosod xMailItem = Dim byd
Gorffennwch Os
Gorffennwch Os
Digwyddiadau
Gosod xOutApp = Dim byd
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Buenos días! ¿que modificación tendría que realizar para dejar selccionadas 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 mar introducir un CC, es decir, poder poner a persona en copia del correo. Gracias!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo! Ateb pudiste esto? Mae'n rhaid i chi gael mismo.. gracias!
Nid oes unrhyw sylwadau wedi'u postio yma eto
Llwytho mwy o
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir