Avatar billede stewen Praktikant
15. oktober 2003 - 11:52 Der er 6 kommentarer og
1 løsning

ActiveWorkbook i stedet for ThisWorkbook

Bak hjalp mig (i spm http://www.eksperten.dk/spm/411740) med følgende kode:

Sub Send_via_Outlook()
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem
Dim szBodyTekst As String
Set olApp = New Outlook.Application
Set olNewMail = CreateItem(olMailItem)
szBodyTekst = "Hermed fremsendes nye regneark" & vbCr
szBodyTekst = szBodyTekst & "mvh" & vbCr
szBodyTekst = szBodyTekst & "Tommy Bak" & vbCr

With olNewMail
    .Recipients.Add "tbc@linak.dk"
    .Subject = "Nye regneark"
    .Body = szBodyTekst
    With .Attachments
        .Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
    End With
    .OriginatorDeliveryReportRequested = True
    .Display
    '.Send
End With
Set olNewMail = Nothing
Set olApp = Nothing

End Sub

Problemet er at det ikke skal være THIS men ACTIVE workbook der skal vedhæftes og sende med.....

For at gøre en lang historie kort, så har jeg en fil hvorfra jeg laver en værdikopi som så automatisk skal sendes via email - problemet er bare at ovenstående kode sender den forkerte fil!

??????????
15. oktober 2003 - 11:54 #1
With .Attachments
        .Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
    End With

    With .Attachments
        .Add ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
    End With
Avatar billede stewen Praktikant
15. oktober 2003 - 11:58 #2
så let er det ikke........ den har jeg prøvet - så får jeg fejl!!!! ;-)
Avatar billede kabbak Professor
15. oktober 2003 - 12:23 #3
hvis det er en ny woorkbook, så er der ingen sti til den.

så prøv denne

With .Attachments
        .Add  ActiveWorkbook.Name
    End With
Avatar billede stewen Praktikant
15. oktober 2003 - 12:58 #4
næhh.... Den kommer frem med en fejlmeddelelse om at filen ikke kan findes! Og at man skal kontrollere at det er det korrekte filnavn og den rigtige sti!

Jeg havde også forsøgt mig uden sti angivelse - men desværre!
Avatar billede bak Forsker
15. oktober 2003 - 13:37 #5
Prøv den her.
Den aktive workbook gemmes, lukkes, sendes og slettes tilsidst

Sub Send_via_Outlook()
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem
Dim szBodyTekst As String
Set olApp = New Outlook.Application
Set olNewMail = CreateItem(olMailItem)
Dim szPath As String
Dim szName As String

szBodyTekst = "Hermed fremsendes nye regneark" & vbCr
szBodyTekst = szBodyTekst & "mvh" & vbCr
szBodyTekst = szBodyTekst & "Tommy Bak" & vbCr

'ActiveSheet.Copy
ActiveWorkbook.Save
szPath = ActiveWorkbook.Path
szName = ActiveWorkbook.Name
ActiveWorkbook.Close

With olNewMail
    .Recipients.Add "xxx@xxxxx.dk"
    .Subject = "Nye regneark"
    .Body = szBodyTekst
    With .Attachments
        .Add szPath & "\" & szName
    End With
    .OriginatorDeliveryReportRequested = True
    .Display
    '.Send
End With
Set olNewMail = Nothing
Set olApp = Nothing
Kill szPath & "\" & szName
End Sub
Avatar billede stewen Praktikant
15. oktober 2003 - 13:55 #6
Ja, tænkte nok at det var nødvendigt at gemme (har jo ikke nogen betydning i sidste ende alligevel)!

BAK - endnu en gang så funger det! smid et svar og du får det ene point du har fortjent - de resterende 29 tager jeg tilbage idet jeg mener at jeg selv faktisk allerede havde svaret........  ;-)
Avatar billede bak Forsker
15. oktober 2003 - 14:16 #7
:-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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