Outlook automation med VB
Förord
Att skapa VB-applikationer som ”pratar” med OFFICE-programmen är oerhört effektivt och användbart. Antag att du exempelvis har en kundatabas (i ACCESS eller SQL) och dina medarbetare vill kontinuerligt kunna ta ut aktuella, snyggt formaterade e-postadresser till kunderna. Varför inte tillverka en VBapplikation som gör detta åt dig? En applikation som hämtar data från en ACCESS-databas, låter Word formatera dina data i en snygg rapport, för att slutligen låta OUTLOOK skicka rapporten som länkat mejl till dina medarbetare! Svaret heter Automation. I denna artikel skall jag visa ett exempel på hur du skriver en enkel VB-applikation som låter OUTLOOK2000 göra följande: skickar e-post till en e-postadress som användaren anger, länkar med ett dokument till mejlet, skickar meddelandet utan att du behöver starta OUTLOOK!Innehåll
»»
»
Förberedelser
(Exemplet kräver att du har Outlook 2000 installerat på din dator. Exemplet tillverkat med VB 6, service pack 5.)
Vi bygger vårt program
1. Starta VB och välj ett nytt standard.exe projekt. Det första du måste göra är att sätta referenserna! Sätt referensen ”Microsoft Outlook 9.0 Object Library” i VB. 2. Lägg ut en textbox-kontroll samt två knappar på formuläret
3. För textbox-kontrollen sätter du följande egenskaper:
ScrollBars 2-vertical och Multiline skall vara true. Inställning av Multiline gör det lättare för användaren att ”scrolla” och göra radbrytningar i textrutan när text skall skrivas in.
4. Namnge knapparna enligt följande: ”Skicka detta till användare!”. Den andra kallar du ”Rensa!” (användaren kanske vill rensa rutan och skriva nytt!)
Din applikation bör nu se ut ungefär som nedan.
Nedan ser Du vilken kod som finns när man klickar knappen ”Skicka detta till användare!” och "Rensa".
Private Sub Command1_Click()
'Felhanterare
On Error GoTo Error
'Variabel definition där vi lägger e-postadressen från användaren
Dim m_Mottagare As String
'Skapa objekten...
Dim m_objOutL As Outlook.Application
Dim m_NewMail As Outlook.MailItem
'Användaren bestämmer vilken som skall få rapporten. Dialogruta visas.
m_Mottagare = InputBox("Skriv e-postadressen du vill använda?")
'Instansiera objekten...
Set m_objOutL = New Outlook.Application
Set m_NewMail = m_objOutL.CreateItem(olMailItem)
'Vi skickar rapporten till användarens epostmottagare.
m_NewMail.Recipients.Add m_Mottagare
'Vi lägger in text i Ämnesraden
m_NewMail.Subject = "Här kommer senaste rapporten"
'Skicka meddelandet som användaren som skrivit in i textrutan.
m_NewMail.Body = Text1.Text
'Vi länkar in en datafil i meddelandet. Vi hämtar dokumetet ”Epostlista.doc” från katalog ”databaser”
'...eller definiera en annan valfri datafil och katalog
m_NewMail.Attachments.Add "C:\databaser\epostlista.doc"
'Vi lägger mejlet i OUTLOOK's Utkorg
m_NewMail.Send
'Vi informerar användaren om hur det går
MsgBox "Rapporten kommer att skickas med OUTLOOK!", vbOKOnly, "
Exit Sub
Error:
MsgBox "Inget mejl kunde skickas!", vbCritical, "
End Sub
Följande kod ligger under knappen Rensa!
Private Sub Command2_Click()
'Rensa meddelande textrutan
Text1 = ""
End Sub
Testa!
Dags att prova om programmet fungerar. Skriv in text i textrutan. Texten du skriver hamnar i mejlets meddelandekropp.Det var allt! Jag skickar med VB-projektet med källkod och jag hoppas du har något utbyte av exemplet ovan. Hämta exemplet här (1,7 kb)
0 Kommentarer