Avatar billede perj2000 Novice
05. september 2004 - 17:17 Der er 7 kommentarer

Send mail

Hejsa

Jeg har lavet en string variabel i Access i et modul som skal køre når der klikkes på en knap.
Uddrag af koden:
        stDocName = "kvittering1"
        t = "<html><head><META http-equiv=Content-Type content=text/html; charset=iso-8859-1>"
        t = t & "<title>Kvitering</title></head><body>"
        t = t & "<table border='0' width='100%' cellpadding='0'>"
        t = t & "<tr>"
        t = t & "<td width='100%'>overskrift" & Date & "</td>"
        t = t & "</tr>"
        t = t & "<tr>"
        t = t & "<td><br>"
    t = t & "<b>blablablabla</b></td>"
        t = t & "</tr>"
        t = t & "</table>"
        t = t & "</body>"
        t = t & "</html>"
        DoCmd.SendObject acReport, stDocName, acFormatHTML, Remail, , , "Kvitering", t, True

Men når jeg sender kommer indholdet i body'en ud som html koder i stedet formateret. Hvad gør jeg mon forkert ?
Hilsen
Per
05. september 2004 - 21:18 #1
Problemt er, at når du benytter den metode til at sende mails, så er det ikke selve mailen, som bliver i HTMl-format. Det er kun rapporten (dvs den vedhæftede fil) som bliver i HTML-format.
Hvis selve brødteksten (body'en) skal være HTML, tror jeg du skal bruge OLE automation. Dvs du skal lave en reference til Microsoft outlook (Tools->references fra VBA-editoren) og derefter prøve denne kode:

    Dim stDocName As String
    Dim T As String
    Dim OutL As Outlook.Application
    Dim Item As MailItem

    stDocName = "kvittering1"
    DoCmd.OutputTo acOutputReport, stDocName, acFormatHTML, "C:\tmp.htm"
    T = "<html><head><META http-equiv=Content-Type content=text/html; charset=iso-8859-1>"
    T = T & "<title>Kvitering</title></head><body>"
    T = T & "<table border='0' width='100%' cellpadding='0'>"
    T = T & "<tr>"
    T = T & "<td width='100%'>overskrift" & Date & "</td>"
    T = T & "</tr>"
    T = T & "<tr>"
    T = T & "<td><br>"
    T = T & "<b>blablablabla</b></td>"
    T = T & "</tr>"
    T = T & "</table>"
    T = T & "</body>"
    T = T & "</html>"
   
    Set OutL = New Outlook.Application
    Set Item = OutL.CreateItem(olMailItem)
    With Item
        .BodyFormat = olFormatHTML
        .HTMLBody = T
   
        .Subject = "Kvittering"
        .FlagStatus = olFlagMarked
        .Attachments.Add "C:\tmp.htm"
        .Recipients.Add Remail
             
        .Display
    End With
   
    Set Item = Nothing

Jeg har desværre ikke kunnet afprøve den, da min outlook strejker :o(
Men det plejer at virke. Ellers vender du bare tilbage.....

mvh
Thomas
Avatar billede perj2000 Novice
06. september 2004 - 20:43 #2
Hej Thomas
Se, det gir' en syntax fejl på statementet:
Dim OutL As Outlook.Application. Hvad skal der mon stå. Jeg bruger outlook 2003.
Ydermere siger den "User-defined type not defined".
Hilsen
Per
06. september 2004 - 20:44 #3
Hej Per,

Havde du lavet en reference til Microsoft Outlook, som beskrevet?
Avatar billede perj2000 Novice
06. september 2004 - 20:48 #4
Hejsan
Ja det vil jeg mene. Jeg har kopieret dine statement, både DIM'erne samt koden til sidst. Men er der ikke noget med et
Type
End Type statement ?. Jeg er altså ikke verdensmester ud i vba ...
Hilsen
Per
06. september 2004 - 20:50 #5
ok, men referencen skal du sætte i en særskilt dialogboks, som du finder ved at gå i menuen Tools->References (når du står i VBA-editoren) og så finde den på listen.
Avatar billede perj2000 Novice
06. september 2004 - 21:05 #6
Hej
Så, fik jeg hul igennem og har noget at arbejde videre med.
Du får tak for hjælpen plus dine points
Hilsen
Per
06. september 2004 - 21:08 #7
anytime :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester