Et worddokument med den nødvendige kode indlæses og minimeres ved opstart.
Koden indeholder bl.a. en OnTime funktion - når det ønskede tidspunkt indtræffer, dføres en automatisk afsendelse af en mail med den vedhft. fil og til den ønskede modtager.
Rem Eksperten: AutoMail - konstrueret i Word97 Rem REFERENCEN "OutLookXX type Library" skal sættes - FUNKTIONER/TOOLS - i VisualBasic Rem ================================================================================== Const modtager = "pb@skivehs.dk" 'modtager Const emne = "Fremsendelse af AutoMail" 'emne Const body = "Ifølge aftale" 'evt. meddelelsestekst Const vedhft = "d:\kandu\eksperten_automail.doc" 'sti+filnavn Const afsendesKl = "08:46:00" 'tidspunkt
Sub AutoOpen() Application.OnTime When:=afsendesKl, Name:="automail" Application.WindowState = wdWindowStateMinimize End Sub Sub AutoMail() Dim mailApp, Namespace, nyMail, nyAtt Set mailApp = CreateObject("Outlook.Application") Set Namespace = mailApp.GetNamespace("MAPI")
Set nyMail = mailApp.CreateItem(olMailItem) Set nymod = nyMail.Recipients nymod.Add modtager nyMail.Subject = emne nyMail.body = body Set nyAtt = nyMail.Attachments nyAtt.Add vedhft nyMail.send
MsgBox ("Mailen er afsendt") ActiveDocument.Close End Sub
Rigtig godt - det virker jo umiddelbart, MEN jeg bliver mødt med 2 dialogbokse, hvor jeg skal trykke ja hver gang for at bekræfte:
1) At jeg vil give et program ret til at få adgang til Outlook i (1-10 min) 2) Jeg skal godkende at det ikke stammer fra en virus.
Måske kan man sætte noget Registry hack, der accepterer disse ting uden at jeg skal gøre noget aktivt.
Serveren kører Office 2003. Mail'en kører POP3 og ikke MAPI, det ved jeg ikke om betyder noget?
Jeg vedhæfter den simple kode her (jeg er IKKE VB haj):
Sub AutoOpen() Application.OnTime When:="13:37:00", Name:="automail" Application.WindowState = wdWindowStateMinimize End Sub Sub AutoMail() Dim mailApp, Namespace, nyMail, nyAtt Set mailApp = CreateObject("Outlook.Application") Set Namespace = mailApp.GetNamespace("MAPI")
Set nyMail = mailApp.CreateItem(olMailItem) Set nymod = nyMail.Recipients nymod.Add "js@stoman.dk" nyMail.Subject = "test" nyMail.body = "Ifølge aftale" Set nyAtt = nyMail.Attachments nyAtt.Add "c:\test.txt" nyMail.send ActiveDocument.Close End Sub
Desværre gav mit forsøg i mandags ikke noget resultat (endnu) - men så fik jeg en ide i går:
Kunne man anvende kalenderens mulighed for "gentagelse af en begivenhed" - det kan man tilsyneladende godt - men den vedhæftede fil bliver så ikke opdateret - med mindre man opdaterer, der hvor den gemmes i forbindelse med ovennævnte - hos mig: c:\Windows\temp
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.