Bestand naar mail sturen als datum bereikt

Status
Niet open voor verdere reacties.

Marthy Mc Fly

Gebruiker
Lid geworden
14 okt 2010
Berichten
117
Beste experts,

Ik ben al een tijdje op zoek naar een marco die een CSV bestand maakt en verstuurt naar mijn mail adress
bij bepaalde voorwaarden.
Ik heb nl een planninglijst met periodieke opdrachten. Als een opdracht (Kolom "Name") binnen 7 dagen 1 wordt in bereik K6 tot BO1000
moet er een CSV bestand verstuurt worden naar mijn mail adress.

In dit CSV bestand moet komen te staan in kolom A (DPT)
kolom B ("B")
kolom C ("8846")
kolom D ("J")
kolom E (NAME)
kolom F (ID)
van de opdracht die binnen 7 dagen zijn datum bereikt.


Bekijk bijlage Test.xlsx
 
Het feit dat er hier nog niemand gereageerd heeft zegt me dat anderen waarschijnlijk net als ik je uitleg erg onduidelijk vinden.
Wat je wilt lijkt me geen probleem, maar hoe, wat, waar, waarom en wanneer zal je beter moeten uitleggen.
 
Lees je eigen zin eens opnieuw aub ?

Code:
Als een opdracht (Kolom "Name") binnen 7 dagen 1 wordt in bereik K6 tot BO1000
Begrijp je jezelf nog ?
 
Het feit dat er hier nog niemand gereageerd heeft zegt me dat anderen waarschijnlijk net als ik je uitleg erg onduidelijk vinden.
Wat je wilt lijkt me geen probleem, maar hoe, wat, waar, waarom en wanneer zal je beter moeten uitleggen.

Besten, ik ga proberen mijn situatie iets te verduidelijken.
Wat ik wil komt vrij dicht in de buurt van https://www.helpmij.nl/forum/showthread.php/877261-Automatisch-een-e-mail-versturen-wanneer-een-datum-in-een-cel-verstreken-is

Ik heb hier ook trachten op uit te bouwen, maar men kennis van vba is te beperkt om tot het resultaat te komen wat ik wou.

Ik heb in excel een planbord gemaakt voor preventief onderhoud van ons machinepark. Elke machine heeft zijn bepaalde taken over verschillende periodes. In het linker gedeelte van mijn werkblad staan gegevens over deze taken.
In kolom B (genaamd "NAME") staat de taak vermeld.
In kolom C staat de datum wanneer dit start en in kolom D staat de periode waarin deze taak terug keert.
Dit alles wordt visueel verduidelijkt op de tijdlijn in het rechter gedeelte van mijn werkblad.
Er staan echter ongeveer zo'n 1000 taken in mijn planbord, wat het voor mij moeilijk maakt om deze allemaal visueel te gaan kontroleren.
Daarom was ik op zoek naar een code die een csv bestand stuurt naar mijn email adres, met daarin de lijst van taken die binnen 7 dagen uitgevoerd moeten worden.
In dat csv bestand moeten dan al die taken staan en dat zou er dan als volgt moeten uitzien:
Kolom F + B + 8846 + J + Kolom B + Kolom A
B, 8846 en J zijn vaste waarden.
Zo moet ik niet alles visueel gaan nakijken, wat meestal toch als gevolg heeft dat ik iets over het hoofd zie.
Het bestand dat dan dagelijks verstuurt moet worden zou als naam, de datum dat het verstuurt is mogen krijgen.
 
En op welk moment of bij welke actie moet die controle plaats vinden?
Tijdens het openen van je document?
Of anders?
 
En op welk moment of bij welke actie moet die controle plaats vinden?
Tijdens het openen van je document?
Of anders?

Edmoor,

Alvast bedankt voor de hulp.
Ik weet niet of het mogelijk is dat deze actie dagelijks plaats vindt zonder dat je het document daarvoor opent.
Als dit niet mogelijk is, dan mag dit starten bij het openen van het document. Met dan eventueel een msgbox
als er iets verstuurt is.
 
Dat kan allemaal wel volledig geautomatiseerd maar dan moet je met scheduling gaan werken en daar komen dan weer totaal andere disciplines bij kijken.
Wellicht dat het handiger is om bij het inloggen automatisch dat document te openen.
Deze kan dan als er niets gedaan hoeft te worden ook meteen weer automatisch worden gesloten en als er wel wat gedaan is je daarover even informeren. Al zal je dat dan ook wel zien aan de ontvangen email.

Om welke reden wil je de informatie in een csv bestand hebben?
 
Dat kan allemaal wel volledig geautomatiseerd maar dan moet je met scheduling gaan werken en daar komen dan weer totaal andere disciplines bij kijken.
Wellicht dat het handiger is om bij het inloggen automatisch dat document te openen.
Deze kan dan als er niets gedaan hoeft te worden ook meteen weer automatisch worden gesloten en als er wel wat gedaan is je daarover even informeren. Al zal je dat dan ook wel zien aan de ontvangen email.

Om welke reden wil je de informatie in een csv bestand hebben?

Dit heeft met onze interne systemen te maken, maar dit mag ook gewoon een exel bestand zijn.
Het document automatisch openen bij inloggen lijkt me ook goed genoeg.
 
Je hoeft niet de quote knop te gebruiken als je direct op het vorige bericht reageert.
Gebruik dan de blauwe +Reageer op bericht knop.

Welk scheidingsteken gebruiken die interne systemen?
Een komma of een puntkomma?
 
Laatst bewerkt:
Gebruik je Outlook voor email of een ander programma?
 
Prima.
Ik ga kijken wat ik voor je kan doen maar kan niet beloven dat dat vandaag is.
Anderen staat het uiteraard vrij dat ook te doen :)
 
Misschien dat je ook een beter voorbeeld document kan plaatsen.
Geen enkele rij voldoet aan je vraag en de tevens te gebruiken kolommen B en F bevatten geen informatie.

Dit maakt het CSV bestand:
Code:
Sub Actueleplanning()
    Dim CSV As Long
    
    CSV = FreeFile
    Open ThisWorkbook.Path & "\" & Replace(ThisWorkbook.Name, ".xlsm", ".csv") For Output As #CSV
    With Sheets("Blad1")
        For i = 7 To .Cells(7, 1).CurrentRegion.Rows.Count + 5
            If .Cells(i, 3) - Date <= 7 And _
                .Cells(i, 3) - Date >= 0 Then
                Print #1, Cells(i, "F") & ";B;8846;J;" & Cells(i, "B") & ";" & Cells(i, "A")
            End If
        Next i
    End With
    Close #CSV
End Sub
 
Je kan de getoonde code zelf even testen om te zien of dat het juiste CSV bestand oplevert.
 
Moet er in de code geen verwijzing zijn naar outlook zoals
Code:
With CreateObject("Outlook.Application").CreateItem(0)
           .To = "maijnemail@gmail.com"
           .Subject = "Volgende lijsten moeten binnen 7 dagen uitgevoerd worden."
           .Attacement = "CSV"
           .Send
          End if
             cl.offset(, +5) = msgbox "Lijst Verzonden"

Ik heb code ingevoegd, maar er gebeurt niets.
 
Laatst bewerkt:
De code die ik plaatste is alleen om het CSV bestand te maken met het verzoek te kijken of dat juist is.
Het bestand wordt gemaakt in dezelfde map als je document.

Als dat in orde is zal ik het emailen er bij maken.
 
Als ik het goed begrijp schrijft hij een csv bestand weg met dezelfde naam op de plaats waar ik mijn huidig bestand open.

In deze map vindt ik geen csv bestand terug
 
Laatst bewerkt:
Dat doet 'ie toch echt.
Moet je wel de code starten natuurlijk.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan