Avatar billede Ups50 Novice
04. maj 2013 - 19:00 Der er 6 kommentarer og
1 løsning

Vedhæft PDF vha VBA

Hej alle
Jeg har følgende kode for at sende en mail. Det virker fint! Jeg vil samtidigt gerne vedhæfte et PDF dokument som evt. er navngivet fra en celle i ecxel arket

Sub Send_Range()
   
  ActiveSheet.Range("C12:J40").Select
   
  ActiveWorkbook.EnvelopeVisible = True
 
  With ActiveSheet.MailEnvelope

      .Item.To = ActiveSheet.Range("C10").Value
      .Item.Subject = ActiveSheet.Range("C23").Value

  End With
End Sub

Jeg har prøvet med Add.Atchatment (eller hvordan det staves ;-))
men kan ikke få det til at virke.

MVH
Ups
Avatar billede supertekst Ekspert
04. maj 2013 - 20:54 #1
Avatar billede Ups50 Novice
06. maj 2013 - 08:02 #2
Hej Supertekst

Jeg har forsøgt med dit forslag, men kan stadig ikke få det til at virke. Er det måske fordi jeg bruger funktionen envelope?
MVH
Ups
Avatar billede supertekst Ekspert
06. maj 2013 - 10:18 #3
Eksempel på vedhæftet fil:

EmailSend.Attachments.Add ("D:\Test\" & Cells(ActiveCell.Row, "A") & ".xlsx")
Avatar billede Ups50 Novice
06. maj 2013 - 17:48 #4
Hej Supertekst

Sub Send_Range()

  ActiveSheet.Range("C12:J40").Select

  ActiveWorkbook.EnvelopeVisible = True

  With ActiveSheet.MailEnvelope

      .Item.To = ActiveSheet.Range("C10").Value
      .Item.Subject = ActiveSheet.Range("C23").Value
      ActiveSheet.Range("A10").Select
      EmailSend.Attachments.Add ("C:\Duge\" & Cells(ActiveCell.Row, "A") & ".txt")
  End With
End Sub

Jeg får stadig en fejl (debug) på stien
Jeg ved ikke om det er envelope der er problemet, for makroen kører frem til at skulle vedhæfte




MVH
Ups
Avatar billede supertekst Ekspert
08. maj 2013 - 00:20 #5
Her er et eksempel:

Sub Send_Range()
  ' Select the range of cells on the active worksheet.
  ActiveSheet.Range("A1:B5").Select
 
  ' Show the envelope on the ActiveWorkbook.
  ActiveWorkbook.EnvelopeVisible = True
 
  ' Set the optional introduction field thats adds
  ' some header text to the email body. It also sets
  ' the To and Subject lines. Finally the message
  ' is sent.
  With ActiveSheet.MailEnvelope
        .Introduction = "This is a sample worksheet."
        .Item.To = "pb@supertekst-it.dk"
        .Item.Subject = "Test"
        .Item.Attachments.Add "D:\Test.xlsx"    '<----------
       
        .Item.Send
  End With
Avatar billede Ups50 Novice
08. maj 2013 - 17:53 #6
Hej Supertekst

Så lykkedes det!!!
Den fejl jeg havde var, at jeg henviste til en celle som ikke var med i den første markerering af celler. Formlen her fungere
Sub Send_Range()

  ActiveSheet.Range("C12:J40").Select

  ActiveWorkbook.EnvelopeVisible = True


  With ActiveSheet.MailEnvelope

      .Item.To = ActiveSheet.Range("C10").Value
      .Item.Subject = ActiveSheet.Range("C23").Value
      ActiveSheet.Range("J17").Select
      .Item.Attachments.Add ("C:\Duge\" & Cells(ActiveCell.Row, "J") & ".txt")
 
  End With
End Sub

MANGE tak for hjælpen, og send endelig et svar så du kan få dine velfortjente point

MVH
Ups
Avatar billede supertekst Ekspert
08. maj 2013 - 18:03 #7
Fint det lykkedes - du får et svar..
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