Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketVBA email vedhæftet email

 Besvar Besvar
Forfatter
Ib Hansen Se dropdown
Guld bruger
Guld bruger
Avatar

Medlem: 15.Apr.2014
Land: Danmark
Status: Offline
Point: 652
Direkte link til dette indlæg Emne: VBA email vedhæftet email
    Sendt: 05.Feb.2018 kl. 18:11
Denne lille kode skulle kunne vedhæfte arket i en Office Outlook mail.
Kopier og indsæt koden ind i en Command Button Wink
'-----------------------------------------'
' Tjekker først om Outlook er installeret '
' Hvis ikke kommer der MsgBox advarsel    '
'-----------------------------------------'
    Dim OutApp As Object
    
    On Error Resume Next    'Suspenderer error checking
        Set OutApp = CreateObject("Outlook.Application")
    On Error GoTo 0         'Gentager error checking
    
    If OutApp Is Nothing Then
    MsgBox "   Office Outlook er ikke installeret." _
        & vbNewLine & vbNewLine & "   Gem og luk arket og send det med din normale mail." _
        , vbInformation, "Outlook er ikke installeret"
        Exit Sub
    End If
    
'--------------------------'
' Vedhæfter arket i mailen '
'--------------------------'
    Dim OutMail As Object
    
    On Error GoTo ud
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
'-----------------------------------------------'
' Udfylder Til, Cc, Emne osv.                   '
' Hvis en linje er udkommanderet udfyldes intet '
'-----------------------------------------------'
    On Error Resume Next
    With OutMail
        '.to = "Skriv mail adresse her"
        '.CC = "Skriv mail adresse her"
        '.BCC = "Skriv mail adresse her"
        '.Subject = "Skriv emnelinje her"
        '.Body = "Skriv evt. besked her"
        .Attachments.Add ActiveWorkbook.FullName
'-----------------------------------------------------------------'
' Der kan tilføjes andre filer også, hvis stien til filen skrives '
'-----------------------------------------------------------------'
        '.Attachments.Add ("C:\test.txt")
        
'----------------------------------------------------------------'
' Her vælges om mailen skal sendes direkte eller åbnes i Outlook '
'----------------------------------------------------------------'
        .display ' Åbner mailen
        '.Send   ' Sender mailen
    End With
    On Error GoTo 0

'-----------------'
' Nulstiller igen '
'-----------------'
    Set OutMail = Nothing
    Set OutApp = Nothing
ud:
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)
Til top



Til top
Andersen25 Se dropdown
Forum Begynder
Forum Begynder


Medlem: 05.Feb.2018
Status: Offline
Point: 1
Direkte link til dette indlæg Sendt: 05.Feb.2018 kl. 17:33
Hej Kloge mennesker :)

Først så er jeg ordblind, så er jeg svær at forstå endelige spørg.

Jeg forsøger at lave en VBA/macro, der gør jeg kan vedhæfte excel filen i mail sendt fra excel.
Jeg har flere VBA knapper, som alle sender mail til forskellige personer. Min udforinger er at jeg kun i nogle af dem, har behov for at vedhæfte excel arket.

Det kan jeg dog ikke få til at virke.

Jeg har følgende module

Public Function sendMail(ByVal recipient, ByVal subject, Optional ByVal body As String, Optional ByVal Attachments = "")
    
    Dim OutlookApp As Object
    Dim NewMail As Object
    Dim TempFilePath As String
    Dim FileExt As String
    Dim TempFileName As String
    Dim FullFilePath As String
    Dim Workbook As Workbook
  
  
    Set Workbook = ThisWorkbook
      
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
      

    ' Gem temp fil
    TempFilePath = Environ$("temp") & "\"
    FileExt = "." & LCase(Right(Workbook.Name, Len(Workbook.Name) - InStrRev(Workbook.Name, ".", , 1)))
    TempFileName = Workbook.Name '& "-" & Format(Now, "dd-mmm-yy h-mm-ss")
    FullFilePath = TempFilePath & TempFileName ' & FileExt

    Workbook.SaveCopyAs FullFilePath
     
    ' Åben ny mail
    Set OutlookApp = CreateObject("Outlook.Application")
    Set NewMail = OutlookApp.CreateItem(0)
     
    On Error Resume Next
    With NewMail
        .To = recipient
        '.CC = cc
        '.BCC = bcc
        .subject = subject
        .body = body
        .Attachments = Attachments
        .Display
    End With
    On Error GoTo 0
      
      
    ' Mail sendt, slet temp fil og reset properties
    Kill FullFilePath
      
    Set NewMail = Nothing
    Set OutlookApp = Nothing
 
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
    
End Function

Jeg forsøger mig så med følgen private Sub

Private Sub velkommen_Click()
    Module1.sendMail "jesper.andersen@dk.loomis.com", ("Velkommen til Loomis - vi glæder os til at betjene dig"), "test", ("add. FullFilePath")
    Cells(2, 18) = Now
  End Sub

Min fejl ligger nok i måde jeg bruger private Sub Add. fullfilePath

På forhånd mange tak for jeres hjælp :)
Jesper Andersen
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk