Outlook mail in functie de data + notificare confirmare
-
- Mesaje: 13
- Membru din: Joi Iun 07, 2018 2:15 pm
Outlook mail in functie de data + notificare confirmare
Buna ziua,
Va rog sa-mi spuneti cum ar trebui sa arate codul vba in cazul in care vreau sa trimit notificari e-mail Outlook din vba cu 5 zile inainte sa ajung la data din coloana C.
As vrea sa am un userform cu 3 butoane (preview, delete, send), iar daca dau click preview sa-mi afiseze mailurile care intrunesc conditia de data (ex.start date 01.09.2018, iar la desciderea fisierului e indeplinita conditia start date - 5). Daca mailul e ok sa dau send, daca nu sa dau delete.
Mailul sa fie tranmis catre adresa din coloana D de pe linia care intruneste conditia de data
Subiectul mailului sa fie format din numele proiectului din coloana B + start date din coloana C
Continutul mailului:
sa se adreseze persoanei din coloana B
("Buna ziua" Popescu Gigel,
Start date pentru proiectul "din coloana A" este "data din coloana C".
Te rog sa te asiguri ca imi transmiti detaliile.
Multumesc!)
Iar dupa transmiterea mailului, in coloana E sa apara data si ora transmiterii mesajului.
Tabelullui i se vor adauga periodic noi linii, deci ar trebui sa identifice automat ultima linie pe care aplica conditia.
Am incercat coduri de pe site-uri, tutoriale, dar nu am reusit.
Atasez un draft al fisierului, fisierul meu are mai multe coloane si linii.
Multumesc anticipat pentru suport.
Va rog sa-mi spuneti cum ar trebui sa arate codul vba in cazul in care vreau sa trimit notificari e-mail Outlook din vba cu 5 zile inainte sa ajung la data din coloana C.
As vrea sa am un userform cu 3 butoane (preview, delete, send), iar daca dau click preview sa-mi afiseze mailurile care intrunesc conditia de data (ex.start date 01.09.2018, iar la desciderea fisierului e indeplinita conditia start date - 5). Daca mailul e ok sa dau send, daca nu sa dau delete.
Mailul sa fie tranmis catre adresa din coloana D de pe linia care intruneste conditia de data
Subiectul mailului sa fie format din numele proiectului din coloana B + start date din coloana C
Continutul mailului:
sa se adreseze persoanei din coloana B
("Buna ziua" Popescu Gigel,
Start date pentru proiectul "din coloana A" este "data din coloana C".
Te rog sa te asiguri ca imi transmiti detaliile.
Multumesc!)
Iar dupa transmiterea mailului, in coloana E sa apara data si ora transmiterii mesajului.
Tabelullui i se vor adauga periodic noi linii, deci ar trebui sa identifice automat ultima linie pe care aplica conditia.
Am incercat coduri de pe site-uri, tutoriale, dar nu am reusit.
Atasez un draft al fisierului, fisierul meu are mai multe coloane si linii.
Multumesc anticipat pentru suport.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: Outlook mail in functie de data + notificare confirmare
Buna,
Singura intrebare la care va pot raspune concret este "...cum ar trebui sa arate codul vba..."(?). Raspunsul este "Destul de stufos!"
Timpul nu imi permite sa va construiesc o solutie functionala pentru ceea ce doriti si este putin probabil ca sa gasiti un coleg pe forum care sa o construiasca "cap-coada". Necesita ceva timp.
Va pot insa ajuta cu indrumari, sfaturi si chiar secvente de cod.
Deci, daca va hotarati sa realizati dv acest proiect, postati ceea ce ati facut (atasati o copie a fisierului pe care lucrati, fara sa contina date sensibile) si descrieti concret problema pe care o intampinati.
Luat asa "pe bucatele" veti primi mult mai rapid sprijin pe forum.
Singura intrebare la care va pot raspune concret este "...cum ar trebui sa arate codul vba..."(?). Raspunsul este "Destul de stufos!"
Timpul nu imi permite sa va construiesc o solutie functionala pentru ceea ce doriti si este putin probabil ca sa gasiti un coleg pe forum care sa o construiasca "cap-coada". Necesita ceva timp.
Va pot insa ajuta cu indrumari, sfaturi si chiar secvente de cod.
Deci, daca va hotarati sa realizati dv acest proiect, postati ceea ce ati facut (atasati o copie a fisierului pe care lucrati, fara sa contina date sensibile) si descrieti concret problema pe care o intampinati.
Luat asa "pe bucatele" veti primi mult mai rapid sprijin pe forum.
Am invatat sa inotam in apa, ca pestii
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.
Am invatat sa zburam in aer, ca pasarile
A ramas doar sa invatam sa traim pe Pamant, ca Oamenii.
-
- Mesaje: 13
- Membru din: Joi Iun 07, 2018 2:15 pm
Re: Outlook mail in functie de data + notificare confirmare
Buna,
Am scris codul si functioneaza (l-am setat doar pt butonul display mails), dar intampin o problema: pe coloanele 40 si 91 am date calendaristice rezultat al unor formule care utilizeaza alte celule, uneori am eroare ca rezultat si as vrea ca atunci cand gaseste pe coloana 91 eroare sa nu-mi creeze acel mail si sa mearga mai departe la celulele din coloana 91 valide. Unde ar trebui sa-i spun "On error resume next" ?.
Multumesc!
Am scris codul si functioneaza (l-am setat doar pt butonul display mails), dar intampin o problema: pe coloanele 40 si 91 am date calendaristice rezultat al unor formule care utilizeaza alte celule, uneori am eroare ca rezultat si as vrea ca atunci cand gaseste pe coloana 91 eroare sa nu-mi creeze acel mail si sa mearga mai departe la celulele din coloana 91 valide. Unde ar trebui sa-i spun "On error resume next" ?.
Multumesc!
Cod: Selectaţi tot
Sub ipreview()
Dim AppOL As Object
Dim miOL As Object
Dim lastRow As Long
Dim i As Integer
Dim ws As Worksheet
Dim wbk As Workbook
Dim eSubject As String
Dim eBody As String
Dim toList As String
Dim signOL As String
Dim madmaster As Date
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
Set ws = ActiveWorkbook.Sheets("Technique")
lastRow = ws.Cells(Rows.Count, "CL").End(xlUp).Row
On Error Resume Next
Set AppOL = GetObject("Outlook.Application")
If Err.Number <> 0 Then
Set AppOL = CreateObject("Outlook.Application")
End If
On Error GoTo 0
On Error Resume Next
For i = 1 To lastRow
If ws.Cells(i, 91).Value = Date Then
If Trim(ws.Cells(i, 90).Value) Like "*?@?*.?*" Then
madmaster = ws.Cells(i, 40)
toList = ws.Cells(i, 90)
eSubject = "Project " & ws.Cells(i, 6) & " is approaching"
eBody = "Dear " & ws.Cells(i, 12) & "," & vbCrLf & vbCrLf & "The translation due date of your project " & ws.Cells(i, 6) & " (" & ws.Cells(i, 13) & ") " & "is: " & madmaster & vbCrLf & vbCrLf & "Thank you for providing the Master module ASAP."
Set miOL = AppOL.CreateItem(0)
With miOL
.To = toList
.Importance = 0
.Subject = eSubject
.Body = eBody
.ReadReceiptRequested = False
.Display
End With
End If
End If
Next i
Set AppOL = Nothing
Set miOL = Nothing
End Sub
Re: Outlook mail in functie de data + notificare confirmare
Buna,
Nu m-am uitat si nu am analizat codul folosit dar...
Inainte de a folosi "On error resume next" - care va trece de unele erori, dar nu vei sti daca ai trimis toate acele mail-uri - e mai bine sa verifici acele formule, poate rezultatul lor este TEXT si nu un numar (datele calendaristice in excel sunt numere...). ca sfat, incearca sa refaci acele formule in asa fel ca rezultatul sa fie un numar. De multe ori "merge" sa (inmultesti cu/imparti la 1, sau sa aduni un zero etc. daca doreti ataseaza acel fisier sau macar formulele.
Nu m-am uitat si nu am analizat codul folosit dar...
Inainte de a folosi "On error resume next" - care va trece de unele erori, dar nu vei sti daca ai trimis toate acele mail-uri - e mai bine sa verifici acele formule, poate rezultatul lor este TEXT si nu un numar (datele calendaristice in excel sunt numere...). ca sfat, incearca sa refaci acele formule in asa fel ca rezultatul sa fie un numar. De multe ori "merge" sa (inmultesti cu/imparti la 1, sau sa aduni un zero etc. daca doreti ataseaza acel fisier sau macar formulele.
“Tell me and I forget, teach me and I may remember, involve me and I learn.”
-
- Mesaje: 13
- Membru din: Joi Iun 07, 2018 2:15 pm
Re: Outlook mail in functie de data + notificare confirmare
Multumesc de sfat, insa nu e nimic in neregula atunci cand am eroare pe coloana 91 (anumite proiect sunt in stand by si a fost stearsa informatia din celulele din care formula isi ia datele. Eu vreau sa le lase cu eroare, dar sa nu fie luate in considerare celulele din coloana 91 care au valoare "eroare" atunci cand sunt create mailurile. Pentru ca eu astazi as avea pe coloana 91, doua celule care indeplinesc conditia = today, insa cand rulez, imi creaza mailuri si pentru celulele cu error si sunt desul de multe.
Cum scriu asta in cod?
Multumesc!
Cum scriu asta in cod?
Multumesc!