Ik heb een programma dat outlook2000 gebruikt om emails te verzenden. Nu wil ik dat als ik het programma start, er eerste gekeken wordt of outlook al is opgestart. Zo ja, dan moet het programma eerst worden afgesloten en daarna weer worden opgestart, om zo de nieuwste registry gegevens te gebruiken (ik gebruik de registry om een nieuw account aan te maken en/of van account te wisselen. Ik merk dat outlook dit alleen bij het opstarten verwerkt, niet tijdens een sessie)
Nu kan het op de volgende, wat lompe manier:
Dim olApp As Outlook.Application
Dim oItem As Outlook.MailItem
Set olApp = New Outlook.Application
olApp.Quit
Set olApp = Nothing
Set olApp = New Outlook.Application
Set oItem = olApp.CreateItem(olMailItem)
....
Het werkt alsvolgt: als set olapp = new outlook.application wordt aangeroepen, wordt er OF een nieuwe (verborgen) applicatie aangemaakt, OF als er al een applicatie draait, wordt er een referentie naar deze applicatie gemaakt.
Daarna wordt het programma sowieso afgesloten, en daarna weer opnieuw opgestart, met de nieuwe registry settings.
Op zich werkt het wel, maar mooier zou zijn als ik eerst kan detecteren of OUTLOOK al draait, en alleen dan het programma af te sluiten.
Weet iemand hier een simpele manier voor?
Nu kan het op de volgende, wat lompe manier:
Dim olApp As Outlook.Application
Dim oItem As Outlook.MailItem
Set olApp = New Outlook.Application
olApp.Quit
Set olApp = Nothing
Set olApp = New Outlook.Application
Set oItem = olApp.CreateItem(olMailItem)
....
Het werkt alsvolgt: als set olapp = new outlook.application wordt aangeroepen, wordt er OF een nieuwe (verborgen) applicatie aangemaakt, OF als er al een applicatie draait, wordt er een referentie naar deze applicatie gemaakt.
Daarna wordt het programma sowieso afgesloten, en daarna weer opnieuw opgestart, met de nieuwe registry settings.
Op zich werkt het wel, maar mooier zou zijn als ik eerst kan detecteren of OUTLOOK al draait, en alleen dan het programma af te sluiten.
Weet iemand hier een simpele manier voor?