• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Automatisch e-mail versturen van Excel naar Outlook

  • Onderwerp starter Onderwerp starter wheel
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

wheel

Gebruiker
Lid geworden
6 nov 2009
Berichten
281
Beste helpers,

In mijn medewerkersbestand heb ik een kolom waarin datums staan van gehouden functioneringsgesprekken. De volgende gesprekken dienen telkens na een maand plaats te vinden.

Graag wil ik hiervoor een of twee dagen van tevoren een e-mail ontvangen als reminder. Dus als een gesprek is gehouden op 1 februari moet het volgende gesprek op 1 maart plaatsvinden. De reminder middels e-mail ontvang ik dan graag twee dagen eerder.

De naam van de medewerker staat in kolom A en de datum van het gesprek in kolom F. Het onderwerp van de e-mail is dan iets van "Reminder werkscan Jansen".

Ik heb al heel wat topics bekeken en ook met de tekst van Ron de Bruin kom ik er niet uit. Ik weet gewoon niet wat ik moet invullen om datums gegenereerd te krijgen.

Wie o wie kan mij hierbij helpen? :)

Wheel.
 
Misschien iemand die mij hierbij kan helpen? :rolleyes:

gr. Wheel
 
dat gaat geheid een keer mis
- je moet dus dagelijks deze map openen zodat die email verstuurd wordt
- je moet ook dagelijks in je emailbox gaan kijken
- probleempje met weekends/vakantie/vrije dagen

waarom doe je dat niet rechtstreeks in Outlook, dat ding is daarvoor gemaakt en je bent er toch al in om je mails te checken.
 
Wheel , ik kan je deze aanbieden , om het nu ( vandaag ) direct op jouw voorbeeldje af te stemmen heb ik helaas te weinig tijd .
Het bestandje is afkomstig van een ander forum :eek: .

Als je dit bruikbaar vindt , kunnen we verder helpen en het verfijnen .
 

Bijlagen

dat gaat geheid een keer mis
- je moet dus dagelijks deze map openen zodat die email verstuurd wordt
- je moet ook dagelijks in je emailbox gaan kijken
- probleempje met weekends/vakantie/vrije dagen

waarom doe je dat niet rechtstreeks in Outlook, dat ding is daarvoor gemaakt en je bent er toch al in om je mails te checken.

Deze map wordt ook dagelijks gebruikt, net als de e-mailbox. Problemen met weekends, vakantie en vrije dagen zijn er niet, omdat wij ook in de weekenden werken. De e-mails reminders moeten worden verstuurd naar meerdere functionarissen, zodat vakanties overlappen.

Het bedrijf kent bijna 600 medewerkers. Dan zou een automatisch gegenereerde mail erg veel tijd schelen.

Wheel.
 
Wheel , ik kan je deze aanbieden , om het nu ( vandaag ) direct op jouw voorbeeldje af te stemmen heb ik helaas te weinig tijd .
Het bestandje is afkomstig van een ander forum :eek: .

Als je dit bruikbaar vindt , kunnen we verder helpen en het verfijnen .

Hoi Trucker,

Ik heb in het bestand in het rood enige uitleg gegeven. Ik hoop dat je er iets mee kunt.

Groeten, Wheel.
 

Bijlagen

Wheel , ik kan er iets mee en andere helpers ook , maar als ik dit lees
Eventueel in de subject iets van "Gesprek met Wheel" of in de body slechts één regel "Let op! Gesprek met Wheel". De naam van de medewerker uit kolom A.
Op het tabblad "body " kan je deze wijzigen en het overtollige wat niet nodig is kan je in de macro code verwijderen .
Dan zal er ook een oplossing moeten gezocht worden voor de reeds gemailde verstreken dagen , > clear op de formule uitvoeren ?

De Naam uit kolom A komt nu reeds in de html body te staan .
 
Op het tabblad "body " kan je deze wijzigen en het overtollige wat niet nodig is kan je in de macro code verwijderen .
Dan zal er ook een oplossing moeten gezocht worden voor de reeds gemailde verstreken dagen , > clear op de formule uitvoeren ?

Ik moet me goed in die code gaan verdiepen wat er dan uit mag. Kwestie van trial and error denk ik. :d

Of er op de formule een > clear moet worden uitgevoerd, zegt mij niets. Met mijn simpele denkvermogen lijkt me dat er bij een ingevulde datum gewoon 28 dagen bij worden opgeteld. De datums wijzigen ook elke keer als een gesprek heeft plaatsgevonden.

Wheel.
 
het is maar een gewoon emailbericht, ik dacht "reminder" gelezen te hebben, dan zet je hem ook al in je agenda.
 

Bijlagen

Ik geloof dat ik wat beter mijn best moet gaan doen op uitleggen wat ik wil. :confused:

We hebben een personeelsbestand met gigantisch veel gegevens. Een van de kolommen daarin bevat de datums waarop functioneringsgesprekken zijn gehouden.

Stel, er is een gesprek geweest op 31 januari. Die datum staat dan in de kolom. Wat ik graag zou willen, is dat er vier weken later automatisch een e-mail wordt verstuurd.

Op het moment dat het volgende gesprek is geweest, wordt de oude datum vervangen door de nieuwe. Automatisch wordt er dan na vier weken weer een e-mail verstuurd. Telkens als de datum wordt gewijzigd dus.

Het is niet de bedoeling dat er van alles wordt toegevoegd aan het personeelsblad. Dus geen extra buttons om iets gedaan te krijgen.

Duidelijker kan ik het denk ik niet uitleggen. Ik hoop dat het zo beter wordt begrepen.

Wheel.
 
Wat je vraagt is op zich wel mogelijk mits enkele "maar's"
* op het ogenblik dat je over automatisch versturen praat, dan zit er op dat moment niemand te wachten achter het scherm om op een "OK"-knop te drukken. Dat is nodig, want excel geeft op dat moment een opdracht naar Outlook en die reageert om te kijken of het niet 1 of ander virusprogramma is die automatisch mails aanmaakt. Daar kan je niet om heen. Je kan hooguit bepalen dat hij de eerstvolgende 5 minuten bv. met die vraag niet meer mag terugkomen. Daarom slaat hij nu die mails op in de map "Concepten", dat zou anders ook in "Postvak Uit" kunnen zijn. Vanaf daar moet je wel nog een keer op verzenden drukken. Dat is een beetje een omweg, omdat je op het ogenblik van automatisch aanmaken van die emails vermoedelijk niet voor/achter je scherm zit.
* als hij de emails moet versturen voor een functioneringsgesprek dat overmorgen plaats grijpt, dan moet je ook weten of je die mails misschien al niet verstuurd hebt. In A1 van blad3 staat nu een datum, tot wanneer de emails verstuurd zijn. Dat mag ook eender andere cel zijn, als je dat tenminste ook mee aanpast in de macro.
* automatisch versturen is nu : bij het openen van het bestand wordt de macro gestart en op het einde van de macro wordt een nieuwe run van die macro voorzien morgen vroeg om 00:05 (5 minuten na middernacht). Dus kijk ook even naar de macros in ThisWorkbook.
 

Bijlagen

Het is helaas niet wat ik bedoel. :confused:

Wheel.
Een paar woordjes uitleg zouden dan welkom zijn , stuur de helpers in de richting van jouw idee . Met de woordjes " Het is helaas niet wat ik bedoel. " weten we ook niet veel meer .
 
Ja, daar heb je helemaal gelijk in. :o

Ik heb ooit eens de volgende code via deze site gekregen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("F3:F27"), Target) Is Nothing Then
        If IsNumeric(Target.Value) And Target.Value > 170000 Then kilometers Target.Offset(, -5)
    End If
End Sub

Sub kilometers(c0)
 With CreateObject("Outlook.Application").CreateItem(0)
    .To = "mijn@email.nl"
    .Subject = "Voertuigregistratie"
    .Body = Replace("Let op!##Het volgende voertuig heeft 170.000 km of meer gereden: ", "#", vbCr) & c0
    .Send
  End With
End Sub

Deze werkte perfect als een waarde in een cel 170.000 of meer bereikte. Er werd een keurige mail verstuurd.

Ik krijg deze alleen niet vertaald naar een datum + 28 dagen.

Misschien dat je hiermee iets kunt.

Bedankt, Wheel.
 
Ik zou het dan gaan zoeken in
Code:
If IsDate(Target.Value) And Target.Value > Date + 28 Then kilometers Target.Offset(, -5)
De datum staat dan in F3:F27
 
Deze map wordt ook dagelijks gebruikt

Als deze toch dagelijks gebruikt wordt waarom dan nog moeilijk doen en omzetten naar outlook

Je kunt de waarschuwing dan toch ook in dit bestandje doen.?

Of denk ik nu weer eens te simpel??
 
Hoi Trucker,

Ik heb nu de volgende code in mijn blad:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("P3:P586"), Target) Is Nothing Then
        If IsDate(Target.Value) And Target.Value > Date + 1 Then email Target.Offset(, -5)
    End If
End Sub

Sub email(c0)
 With CreateObject("Outlook.Application").CreateItem(0)
    .To = "mijn@email.nl"
    .Subject = "Werkscan"
    .Body = Replace("Let op!##De volgende deelnemer heeft binnenkort weer een werkscan: ", "#", vbCr) & c0
    .Send
  End With
End Sub

Ik heb de code aangepast naar mijn bestand. De datums staan in kolom P. Ik probeer te testen via Date + 1 en dan een datum van gisteren of eergisteren in te geven, maar dat werkt zeker niet?

De namen van de medewerkers staan in kolom A. Dan is ", "#", vbCr) & c0 zeker ook niet goed?

Wheel.
 
even voor de duidelijkheid :
* kolom A en F zijn toch nog steeds de kolommen waarover het gaat en kolom F is de datum van het vorige gesprek ?
* datum vorige gesprek + 1 maand (dus geen 4 weken, bv. 15/1 -> 15/2->15/3 ???) is het volgend gesprek.
* email moet gemaakt worden op 13/2 en/of 14/2 en/of 15/2 voor het februari-gesprek.

* probleem 1 : vermoedelijk heb je een probleem met die datum in A1, die mag ook ergens anders in een verloren hoek van die map staan. Die kan desnoods ook weg, maar dan ga je iedere keer 3 dagen lang die email krijgen als je de macro laat lopen. Wis anders eens A1 en laat de macro lopen.
* probleem 2 : ik deed een save van je email, vervang die dan door die Send, maar dan houdt het verhaal van automatisch op. Je kan niet alles willen. Dan gooien we die "ontime" eruit en moet je zelf maar de macro starten (ev. via een knop) en daarna op die reactie van Outlook anticiperen. Nu zat ik te zoeken, misschien heeft iemand daar direct een antwoord voor, je kan tegen Outlook ook zeggen, dat hij niet bij iedere send de vraag moet stellen, maar dat hij daarmee gedurende bv. 5 minuten moet mee ophouden.

Als het nog anders is of er is nog een ander probleem is hoor ik het graag.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan