Avatar billede Nicolai Nybegynder
24. oktober 2003 - 09:12 Der er 7 kommentarer og
1 løsning

Fejl ved afsendelse af e-mail fra Excel.

Halløjsa.

Jeg har tidligere anvendt nedenstående rutine under Windows NT med Office 97. Nu har vi opgraderet til Windows XP og Office 2000 og pludselig virker koden ikke. Den melder en dll-fejl når den startes. Er der nogen der kan hjlæpe med hvad der er galt?

Når jeg debugger fejler den under linjen: "Set objOL = New Outlook.Application"

Private Sub SendProduction_Click()
Application.ScreenUpdating = False
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Dim objAttachment As Attachment
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
Set myAttachments = objMail.Attachments
myAttachments.Add "C:\outlook\Excel\SC Prod Report.xls", _
    olByValue, 100, "SC Prod Report.xls"
   
With objMail
    .To = "santa.claus@greenland.com"
    .Subject = "Ongoing Selling Cycles"
    .Body = "This message has been automatically produced by the Prospect Management system"
    '.Display
    .Send
   
End With

Set objMail = Nothing
Set objOL = Nothing

Application.ScreenUpdating = True

MsgBox ("Your updated Selling Cycles has been e-mailed to Santa Claus.")
End
End Sub

Håber på jeres hjælp... :o)
Avatar billede kabbak Professor
24. oktober 2003 - 09:22 #1
har du sat reference til Microsoft outlook Objekt Libary i VBA
Avatar billede Nicolai Nybegynder
24. oktober 2003 - 09:30 #2
Ja, Referencen er sat til Microsoft Outlook 10.0 Object Library..
Avatar billede bak Forsker
24. oktober 2003 - 12:37 #3
Dim objOL As New Outlook.Application
Set objOL = New Outlook.Application

Disse to linier skulle lave ca det samme.
Slet den nederste.
Avatar billede Nicolai Nybegynder
24. oktober 2003 - 14:08 #4
Jeg har prøvet at slette "Set objOL = New Outlook.Application", men det løser ikke problemet. Den giver nu fejl i: "Set objMail = objOL.CreateItem(olMailItem)"...

Fejlen den giver er: Runtime Error '48'. Error in loading DLL...

HJÆÆÆÆÆLP... :o)
Avatar billede kabbak Professor
24. oktober 2003 - 15:18 #5
prøv denne

Private Sub SendProduction_Click()
Application.ScreenUpdating = False
Dim objOL As Object
Dim objMail As Object
Dim objAttachment As Object
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(olMailItem)
Set myAttachments = objMail.Attachments
myAttachments.Add "C:\outlook\Excel\SC Prod Report.xls", _
    olByValue, 100, "SC Prod Report.xls"
   
With objMail
    .To = "santa.claus@greenland.com"
    .Subject = "Ongoing Selling Cycles"
    .Body = "This message has been automatically produced by the Prospect Management system"
    '.Display
    .Send
   
End With

Set objMail = Nothing
Set objOL = Nothing

Application.ScreenUpdating = True

MsgBox ("Your updated Selling Cycles has been e-mailed to Santa Claus.")
End
End Sub
Avatar billede kabbak Professor
24. oktober 2003 - 15:20 #6
den virker i min Office 2000
Avatar billede Nicolai Nybegynder
24. oktober 2003 - 17:05 #7
Kabbak: Faktisk fandt jeg ud af at det netop er min Dim og Set der er forkert og dermed er ligesom i det eksempel du har givet. Jeg fik bare ikke nået at reagere på Eksperten.dk og sige at jeg selv havde fundet løsningen....

Men man må jo sige at du kom med den rigtige løsning - og så falder der naturligvis point af... Tak for indsatsen...
Avatar billede kabbak Professor
24. oktober 2003 - 17:15 #8
tak for point,-)
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
Kurser inden for grundlæggende programmering

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