Basis instructie event-handlers outlook programmeren

Status
Niet open voor verdere reacties.

ArnieN

Gebruiker
Lid geworden
2 mei 2020
Berichten
27
Misschien is dit het verkeerde forum, maar dan hoor ik dat graag.

Ik wil in Outlook macro's in vba programmeren, bijv als een mail verstuurd wordt dat ik in Access een status kan veranderen.
Binnen Access heb ik geen moeite om dat voor elkaar te krijgen.
Maar ik weet niet hoe ik een event in Outlook moet programmeren. Heb veel gelezen, maar het zijn allemaal stukjes zoals withevents, handlers, inspectors, etc.
Als ik bepaalde codes kopieer werkt het wel, maar ik heb dan geen idee wat en waarom iets gebeurt.
Is er ergens een document, cursus oid waar duidelijk beschreven wordt hoe je dit moet/kan doen?

Alvast bedankt!
 
Ga ik zeker bestuderen. Ik zoek inderdaad zoiets, maar het hoofdstuk wat ik zoek is er nog niet.
Dank voor de link.
 
Laatst bewerkt door een moderator:
Je bent een beetje dubbel in je vraag; vanuit Access kun je blijkbaar prima mails versturen. Dan zou je óók in staat moeten zijn om binnen Access de status van een veld te veranderen. Lijkt mij eigenlijk het minste probleem. Verderop vertel je dat je prima werkende code kan vinden, maar dat je niet snapt hoe die werkt. Dat vind ik dan dus óók raar, want vanuit Access Outlook handelingen verrichten is een stuk moeilijker dan vanuit Outlook iets in Access doen. In het laatste geval is het een kwestie van een Access Object aanmaken, en dan min of meer de jouw al bekende code afsteken. Terwijl je, als je vanuit Access iets doet in Outlook, je zelf van alles moet uitzoeken om dat in Outlook aan de praat te krijgen.
Dus wellicht moet je eerst je proces eens tegen het licht houden, of, veel fraaier natuurlijk, eerst eens uitleggen wat nu eigenlijk je bedoeling is.
 
Blijkbaar ben ik niet duidelijk genoeg geweest.
Vanuit Access maak ik mails aan. Ik laat ze niet direct versturen (gebruik dus .display) omdat ik per mail nog iets wil kunnen aanpassen in de tekst.
Wat ik wil is dat in Access de status van een entiteit wordt aangepast NAdat de mail is verstuurd.
Als ik op verzenden heb geklikt wil in dat binnen Access de status wordt veranderd.
Dus wil ik inzicht hebben hoe dat goed te doen en te begrijpen en niet allemaal stukjes code aan elkaar plakken totdat het zomaar gaat werken.
Helder?
 
Nog een toevoeging:
Ik ben vooral geïnteresseerd in het programmeren van events binnen Outlook. Voor nu, maar ook voor in de toekomst.
 
Zodra je een mail aanmaakt in Outlook en op het scherm zet met .Display ben je de controle over de mail kwijt. Zeker vanuit Access, waarin je nooit toetsaanslagen of muisklikken kan afvangen in welk ander programma dan ook (geldt uiteraard voor meer programma’s), maar vanuit Outlook is dat monitoren ook al best lastig. Ik zie, vanuit het proces, ook geen enkel voordeel in het wachten met het aanpassen van de status tot de mail is verzonden, ook al wil je nog wat tekst aanpassen.

Het simpele gegeven dat het proces is gestart, geeft aan dat er iets moet gebeuren. En al helemaal als je in het proces zó ver bent dat de mail ook daadwerkelijk wordt opgesteld in Outlook. Ik kan mij a) niet voorstellen dat iemand een mail aanmaakt, die vervolgens bekijkt en wijzigt (want daarom stuur je ‘m niet gelijk) en vervolgens denkt: “la-maar-zitten”. En de mail vervolgens weggooit. En b) dat dat ook nog eens zó vaak voorkomt, dat je het in je code moet gaan afvangen!
Dan deugt er toch iets niet in het proces, is dan mijn eerste gedachte.

Als je dus wilt voorkomen dat een status wordt aangepast zonder dat er een mail wordt verstuurd, moet je het proces zodanig inrichten dat je het aanmaken van de mail voldoende hebt afgetest: weet de gebruiker zeker dat er een mail moet worden verstuurd? Zo ja, kun je rustig de status aanpassen. Zo nee, dan proces afbreken en geen mail maken.

En in die enkele keer dat het toch fout gaat: handmatig aanpassen. Daar zijn immers database beheerders en/of functioneel beheerders voor :).
 
Het proces is prima in orde, niks mis mee. Maar je kunt altijd discussiëren over het wel of niet doen van iets.
Ik ben nou eenmaal van mening dat je de status pas zou moeten aanpassen als de mail echt verstuurd is, zeker omdat er van alles tussendoor mis kan gaan. Van crash tot simpel weg vergeten op de Verzenden-knop te drukken omdat je afgeleid wordt en alles wat daar tussen kan zitten. Dat het bijna nooit voorkomt doet er niet toe.

De oplossing om een gebruiker een keer extra te vragen of de mail verstuurd kan worden werkt naar mijn mening beperkt. Als men eenmaal weet dat er van die meldingen komen wordt er al op ok gedrukt voordat de melding wordt gelezen.

Verder maak ik mijn eigen applicaties in Office (vooral Access, Outlook en Excel) voor mijn eigen bedrijf:
1) omdat ik zoveel mogelijk geautomatiseerd wil hebben omdat het tijd scheelt en minder foutgevoelig is
2) omdat ik er lol in heb om te programmeren en alle applicaties met elkaar te laten samenwerken.
3) omdat ik geen kaas gegeten had van object-georiënteerd programmeren in een PC omgeving en het leuk vind om dit te leren.

En in die enkele keer dat het toch fout gaat: handmatig aanpassen. Daar zijn immers database beheerders en/of functioneel beheerders voor :).
Als ik bovenstaande in mijn IT periode (van ontwerp tot bouw en implementatie) had gedaan zou ik op staande voet ontslagen zijn. :-)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan