Avatar billede nak01 Juniormester
24. november 2017 - 15:16 Der er 10 kommentarer og
1 løsning

Automatisk afsendelse af celleområde i Excel via VBA

Hejsa,

Jeg har set, at man automatisk (via en makro) kan afsende et bestemt område i et regneark helt automatisk uden at åbne outlook.
Jeg får desværre en fejlmeddelelse i nummer 2 linie.
Nogen der har en løsning?

ActiveSheet.Range("L2:O50").Select
    ActiveWorkbook.EnvelopeVisible = True
    With ActiveSheet.MailEnvelope
        .Instruction = "Test"
        .Item.To = "Mailadresse.com"
        .Item.Subject = "Test"
        Item.Send
    End With

End Sub

Har fundet ovenstående kode på Microsofts support hjemmeside.
Avatar billede supertekst Ekspert
24. november 2017 - 15:37 #1
Har prøvet koden og hvis .Instruction = "Test" - linjen slettes - så afsendes mailen
Avatar billede Dan Elgaard Ekspert
25. november 2017 - 07:17 #2
En lille taste fejl:

Det hedder ikke '.Instruction', men '.Introduction'.

Hvis du lige ændre det, så burde det virke :-)
Avatar billede nak01 Juniormester
26. november 2017 - 17:03 #3
Hej begge, #1 & #2

Tak for jeres input-
Har prøvet begge jeres forslag, men jeg kan stadig ikke køre makroen.
Får fejl I linien: 
ActiveWorkbook.EnvelopeVisible = True

Kører Office 2010
Avatar billede supertekst Ekspert
26. november 2017 - 18:02 #4
Hej nak01

Selv tak
Hvad så, hvis du sletter den linje, som du får fejl i?
Avatar billede Dan Elgaard Ekspert
26. november 2017 - 20:18 #5
Hmmm...
Din kode virker hos mig - bortset fra, at du mangler et punktum foran 'Item.Send'.

Fejlen kan ligge i din Outlook, da '.MailEnvelope' metoden er temmelig kritisk med hensyn til brugen af 'Microsoft Outlook'.
Metoden KRÆVER, at 'Microsoft Outlook' er standardprogrammet til e-mails på din computer - det er altså ikke nok, at 'Microsoft Outlook' er installeret, og korrekt konfigureret til at kunne sende e-mails, hvis man så benytter et andet e-mail program som mail klient.
For det næste, så må versionen af 'Microsoft Outlook' ikke være af nyere dato, end din 'Microsoft Excel'.

Og, så tror jeg nok, at det også kræver, at regnearksfilen (workbook) skal være gemt først, men er ikke helt sikker...

Prøv lige, at kontrollere disse 4 ting...
Avatar billede nak01 Juniormester
27. november 2017 - 08:41 #6
#4
Har prøvet at slette linjen, men så melder den blot fejl på den næste.

#5
Ifølge vores IT support på arbejdet, så er Outlook sat som standard til e-mails.
Har godt nok Lotus Notes installeret også (tidligere standard), men det er Outlook der, som skrevet, nu er vores standard.
Vi har planer om snart, at skifte til Windows 10 og Office 2016.
Vil prøve, senere I dag, at teste makroen på en sådan maskine.
Avatar billede supertekst Ekspert
27. november 2017 - 09:00 #7
Helt sikkert at det vil være bedre
Avatar billede nak01 Juniormester
27. november 2017 - 14:20 #8
Hej begge to...

Problemet blev løst ved at køre makroen I Win 10 og Office 2016
Takker for input  :-)
Avatar billede supertekst Ekspert
27. november 2017 - 14:51 #9
Selv tak..
Avatar billede Dan Elgaard Ekspert
27. november 2017 - 14:56 #10
Som jeg skrev: Metoden er temmelig kritisk med hensyn til brugen af 'Outlook' - så din 'Lotus Notes' har helt sikkert være den skyldige...
Avatar billede nak01 Juniormester
04. oktober 2018 - 10:26 #11
Hejsa,
Har nu endelig fået ny maskine hvor tingene virker :-)
Tillader mig at genoptage denne tråd med et nyt ønske.
Nedenstående kode virker perfekt, men i mit aktive worksheet har jeg mange forskellige områder/udsnit jeg ønsker at sende til forskellige personer i organisationen.
For at undgå at oprette og vedligeholde hver enkelt makro hver gang, ville det være skønt at programmet selv henter brødtekst, subject og mailadresse fra en celle skrevet et vilkårligt sted på regnearket. Det vil sige, at koden selv henter en tekst skrevet i en celle. Håber nogen kan hjælpe.


Sub Mail_SL()
'
' Mail_SL Macro
'

'
    ActiveSheet.Range("L2:O60").Select
    ActiveWorkbook.EnvelopeVisible = True
    With ActiveSheet.MailEnvelope
        .Introduction = "Her står en brødtekst"
        .Item.To = "nnnnnn@gmail.com"
        .Item.Subject = "Her står en subject tekst"
        .Item.Send
    End With

End Sub
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

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