Avatar billede ramp Nybegynder
05. juli 2013 - 13:15 Der er 9 kommentarer og
1 løsning

Send indhold af excelark automatisk i mail

Hejsa,

har forsøgt at finde en tråd på denne, men ikke lykkes endnu.

Jeg har et excelark med en pivottabel, som henter data fra en OLAP-Cube hver nat.

Ønsker en funktion/macro/program som automatisk kan sende det opdaterede indhold i arket, til en given email adresse, uden at arket skal åbnes.

Muligt?

+ løsning hvis man kan definere, hyppighed (dagligt, ugentligt), samt tidspunkt på døgnet.

*anvender mest excel 2010, men har også 2013. Outlook som mailprogram.
Avatar billede supertekst Ekspert
05. juli 2013 - 15:19 #1
Avatar billede ramp Nybegynder
05. juli 2013 - 15:40 #2
tak. problemet er blot at Pivottabellen først opdateres, når det åbnes?
Avatar billede supertekst Ekspert
05. juli 2013 - 15:52 #3
Selv tak - det kan måske også klares. Er det et andet regneark, der skal afsende filen med pivot - eller?
Avatar billede ramp Nybegynder
05. juli 2013 - 16:02 #4
Det er egentligt underordnet. eneste vigtige er at det opdaterede indehold i arket bliver sendt i mailen. Altså ikke som vedhæftet fil, men som tabel/billede/etc. direkte i mailen.
Avatar billede supertekst Ekspert
11. juli 2013 - 10:59 #5
Har en model, som jeg kan returnere, hvis du sender en mail.
@-adresse under min profil.
Avatar billede ramp Nybegynder
22. juli 2013 - 11:20 #6
Hmm. modtog aldrig denne?
Avatar billede supertekst Ekspert
22. juli 2013 - 11:28 #7
Fik du sendt en mail?
Avatar billede ramp Nybegynder
22. juli 2013 - 11:44 #8
yes,? - jeg sender igen.
Avatar billede ramp Nybegynder
02. august 2013 - 13:11 #9
hmm.

Har nu følgende, men modtager fejl ved denne:

"xlsSys.Sheets(1).Activate"



Const sti = "C:\Users\2546\Desktop\Send fil\"
Const filNavn = "FilDerSkalSendes.xlsx"
Const arknavn = "sheet1"
Const område = "A1:D20"
Public xlsfil As Object
Public dataOmråde As String

Public xlsSys As Object
Const mailAdresse = "claus@lajlev.dk"
Const emneTekst = "Dagens tal"

Sub test()

    Set xlsSys = ActiveWorkbook
    dataOmråde = område

    Set xlsfil = CreateObject("Excel.Application")
    With xlsfil
        .Visible = True
        .Workbooks.Open sti & filNavn
        .ActiveWorkbook.Sheets(arknavn).Activate
        .Range(område).Copy

        xlsSys.Sheets(1).Activate
        xlsSys.ActiveSheet.Range("A1").Select
        xlsSys.ActiveSheet.Paste
        xlsSys.ActiveSheet.Columns.AutoFit
       
        Application.CutCopyMode = False
       
        .Application.DisplayAlerts = False
        .ActiveWorkbook.Save
        .ActiveWorkbook.Close
        .Application.Quit

        sendMailen mailAdresse, emneTekst, arknavn
       
        Cells.Select
        Selection.ClearContents
        Range("A1").Select
    End With
   
    Set xlsfil = Nothing
    Set xlsSys = Nothing
   
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    ActiveWorkbook.Close
   
    ActiveWorkbook.Application.Quit
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim wBook As Workbook
    Dim LCount As Long
    If Cancel = False Then
        For Each wBook In Workbooks
            If wBook.Name <> Me.Name And UCase(wBook.Name) <> "PERSONAL.XLS" Then
                LCount = LCount + 1
            End If
        Next wBook
        If LCount = 0 Then Application.Quit
    End If
End Sub
Avatar billede ramp Nybegynder
19. august 2013 - 17:58 #10
Lukker - fandt ingen brugbar løsning.
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