Avatar billede Morten Nybegynder
18. juni 2003 - 09:12 Der er 12 kommentarer og
1 løsning

Vedhæfte flere filer til en mail

Jeg har en listbox hvor brugeren har valgt nogle ordrenumre som skal sendes via mail... er det muligt via VBA at vedhæfte flere flere fil til en mail...

Ved et klik ønsker jeg at der oprettes en mail, numren i listen omsættes til et filnavn (har jeg styr på) og vedhæftes den før oprettede mail...
Avatar billede bak Forsker
18. juni 2003 - 10:55 #1
Hvis du bruger outlook burde nedenstående kode kunne bruges. Husk reference til outlook.
Sub Send_via_Outlook()
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem

Set olApp = New Outlook.Application
Set olNewMail = CreateItem(olMailItem)

With olNewMail
    .Recipients.Add "tbc@xxx.com"
    .Recipients.Add "cddk@yy.com"
    .CC = "Team 2000"
    '.BCC = "Evaluering"
    .Subject = "Nye regneark"
    .Body = "Hermed fremsendes nye regneark"
    With .Attachments
        .Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
        .Add "C:\vare.xls"
    End With
    .Save
    .Display
    '.Send
End With

Set olNewMail = Nothing
Set olApp = Nothing

End Sub
Avatar billede bak Forsker
18. juni 2003 - 10:57 #2
Bemærk at du kan koble alle de filer på du ønsker, jeg har bare brugt aktuel fil og en mere.
Avatar billede Morten Nybegynder
18. juni 2003 - 11:06 #3
Hej Bak

Jeg fandt selv frem til følgende som minder lidt om din - dog nok noget ved din jeg hellere vil bruge...

Bla. kommer den og "brokker" sig over at nogen prøver at sende en E-maile med send (er okay...) men jeg kan se at du bruger Display og det vil jeg nok hellere... ved du om man kan fjerne den dialogboks for lige nøjagtig den her mail - da jeg jo ikke ønsker at sikkerheden skal forringes... (forstod du det)

Jeg har indsat min kode der er selvfølelig noget før - men tror ikke det er interessant for andre....


    With objOutlookMsg
        .Recipients.Add ("garagebestilling@crawford.dk") 'Set objOutlookRecip =
                                                    'objOutlookRecip.Type = olTo
        For x = 1 To colFiler.Count
            Set objOutlookAttach = .Attachments.Add(colFiler(x))
        Next x
       
        .Subject = Format(Date, "dd.mm.yy") & " - " & Format(Time, "hh:mm:ss")
        .Body = "Garageportsordre"
        .Importance = olImportanceHigh
        .Send
    End With
    Set objOutlook = Nothing
Avatar billede Morten Nybegynder
18. juni 2003 - 11:32 #4
altså i lidt mere klar tale

Er det muligt via min VBA kode og noget opsætning i Outlook at give Excel adgang til adressekartoteket samt at sende mails...?
Avatar billede Morten Nybegynder
18. juni 2003 - 13:45 #5
Hej igen BAK

Hvor kan jeg ikke kompilerer:
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem

Den siger user-defined type not defined...

Jeg ved godt hvad det betyder men hvordan er det lige jeg undgår dette / opretter egne typer
Avatar billede bak Forsker
18. juni 2003 - 14:10 #6
Det er fordi du i vba-editorer under Tools / References skal sætte flueben i microsoft outlook x.0 object library.

Jeg har lidt svært ved at greje resten af dine spm.
Kan du ikke prøve at uddybe lidt mere??
Avatar billede Morten Nybegynder
18. juni 2003 - 14:22 #7
Jo... altså når man fra excel via VBA-kode laver først en

.Recipients.Add

Så kommer der en dialogbox frem (outlook 2000) om at et andet program har anmodet eller prøver at bruge adressekartoteket og om man vil tillade dette..

Der næste kommer der en dialogbox frem når man når
.send

som spørg om man vil tillade at et andet program prøver at sende via Outlook

Dette har naturligvis med sikkerhed at gøre... så jeg ved ikke om man kan omgås dette???? (sikkert ikke da det jo så intet ville være værd) - men kan man ikke signerer eller noget andet så Outlook genkender det....???
Avatar billede Morten Nybegynder
18. juni 2003 - 14:39 #8
Efter jeg satte fluebenet forsvandt den sidste messagebox - nu kommer den kun og spørg om det er okay at bruge adressekartotekt.. nogen ide om det kan fjernes??? (ved ikke om det var fluebenet der gjorde udslaget - men tror det)

Og venligs læg et svar så jeg kan takke for hjælpen på behørig vis...
Avatar billede Morten Nybegynder
18. juni 2003 - 14:40 #9
Glem det - det er jo fordi jeg bruger display istedet for .send

Sååååååå hvis nogen kan det såååå
Avatar billede bak Forsker
18. juni 2003 - 14:45 #10
Ok, her er et svar.
Den spørger forøvrigt ikke, hvis outlook er åbnet først. :-)
Avatar billede Morten Nybegynder
18. juni 2003 - 15:45 #11
den spørg hos mig???

jeg anvender Excel 2002 og Outlook 2000

Nogen ideer til hvorfor - sikkerhedsniveau i Outlook?
Avatar billede bak Forsker
18. juni 2003 - 15:50 #12
Jeg tror ikke det er outlook2000, snarere excel XP, fordi MS har vist indbygget dette som en sikkerhedsforanstaltning, så et regneark indeholdende en ondsindet makro ikke sender sig selv ud til en mængde kontaktpersoner fra dit adressekartotek uden at spørge :-)
Det kan måske omgåes, men her skal du nok lede specifikt efter dette på google..
Avatar billede Morten Nybegynder
18. juni 2003 - 16:26 #13
Underligt underligt... har lige lavet en clean installation af både Win XP og Office XP - Outlook 2000

Nu kan jeg også godt uden at den spørg - gad vide om det er noget de har indlagt i en af service-packs´ne til Office XP - hmmm.... nå men jeg vender tilbage hvis jeg finder ud af hvorfor - men det lyder sandsynligt at det er en sikkerhedsopdatering som stopper dette... i hvert fald for mig
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