Hvordan legge ved et Excel-regneark som et PDF Vedlegg i Outlook-e-posten din

Hvis du raskt vil konvertere et Excel-regneark til et PDF fil og legg ved denne PDF fil til en Outlook-e-post for å sende den, kan du bruke metoden introdusert i denne artikkelen. Den bruker VBA for å utføre denne oppgaven i løpet av sekunder.

For å være ærlig, å legge ved en hel Excel-arbeidsbok som en PDF vedlegg i en e-post er ganske enkelt. Du kan først lagre arbeidsboken som en PDF fil og opprett en ny Outlook-e-post og legg ved PDF fil til denne e-posten. Men i Excel er det ingen slik direkte funksjon for å konvertere et enkelt regneark til en PDF fil og send den. Derfor, hvis du raskt vil legge ved et Excel-regneark som et PDF vedlegg i en e-post, kan du bruke følgende midler.

Legg ved et Excel-regneark som et PDF Vedlegg i Outlook-e-posten din

Legg ved et Excel-regneark som et PDF Vedlegg i e-posten din

  1. For det første må du åpne Excel-kilderegnearket som normalt.
  2. Deretter i Excel-vinduet bør du trykke på "Alt + F11"-tastene.
  3. Deretter vil du få tilgang til Excel VBA-redigeringsvinduet med suksess.
  4. Etter det bør du åpne "ThisWorkbook" -prosjektet.
  5. Kopier og lim deretter inn følgende VBA-kode i dette prosjektvinduet.
Sub SendWorksheet_AsPDFAttachment_OutlookEmail() Dim objFileSystem As Object Dim strTempFile As String Dim objOutlookApp As Outlook.Application Dim objMail As Outlook.MailItem 'Spesifiser regnearkets navn Sheets("DataNumen Staff").Aktiver ActiveSheet.UsedRange.Select ThisWorkbook.Sheets(Array("DataNumen Staff")). Velg Angi objFileSystem = CreateObject("Scripting.FileSystemObject") strTempFile = objFileSystem.GetSpecialFolder(2).Path & "\" & ActiveSheet.Name & " i " & ThisWorkbook.Name & ".pdf" 'eksporter det spesifikke regnearket som PDF
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strTempFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 'Opprett en ny e-post Set objOutlookApp = CreateObject("Outlook.Application") Sett objMail = objOutlookApp.CreateItem(olMailItem) 'Legg ved PDF file objMail.Attachments.Add strTempFile objMail.Display '==>vis denne e-posten 'Slett midlertidig PDF fil objFileSystem.DeleteFile (strTempFile) End Sub

VBA-kode - Legg ved et Excel-regneark som et PDF Vedlegg i Outlook-e-posten din

  1. Til slutt, for å utløse den nye makroen, kan du trykke på "Kjør"-ikonet i verktøylinjen eller trykke rett på "F5"-tasten.
  2. Etter at makroen er ferdig å kjøre, vil en ny Outlook-e-post vises med en gang. I den kan du se en PDF fil i "Attached"-linjen, som følgende skjermbilde:Vedlagt PDF filet

Beskytt Outlook-filen mot å bli skadet

Som vi alle vet, er Outlook utsatt for korrupsjon, i likhet med Word-dokumenter og Excel-arbeidsbøker. Derfor bør vi forstå hvordan vi beskytter Outlook mot korrupsjon. På grunn av det faktum at virus har blitt mer og mer komplekse og utbredt, er Outlook ofte korrupt på grunn av virusinfeksjon og malwareangrep. I denne situasjonen må du installere pålitelig antivirusprogramvare og deaktivere automatisk nedlasting av eksterne filer. Videre må du heller få tak i anther robust Outlook-fiks verktøy, som DataNumen Outlook Repair. Det er i stand til å gi deg most effektivt middel i tilfelle Outlook-korrupsjon.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert fikse sql og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Ett svar på "Hvordan legge ved et Excel-regneark som et PDF Vedlegg i Outlook-e-posten din"

  1. Hei,

    Ville det være en måte å legge til denne vbaen til min nåværende funksjon.

    Jeg prøver å få pdf å legge ved e-posten min gjennom vba opprettet for regnearket mitt.

    Her er min vba for kontakter som vises automatisk når jeg klikker på grafikkknappen opprettet:

    'VBA-underprosedyre til Start E-post

    Sub Start_Email()

    Dim iConfirmation As VbMsgBoxResult

    iConfirmation = MsgBox(“Send STP-utkastoppgave til tildelt – Ja?”, vbYesNo + vbQuestion, “Confirmation”)

    Hvis iConfirmation = vbNo Avslutt Sub

    'Erklære variabler for å referere til 'E-postliste'-regnearket

    Dim sh As arbeidsark
    Dim iRow som heltall

    Sett sh = ThisWorkbook.Sheets(“E-postliste”)

    iRow = 2

    Gjør mens sh.Range(“A” & iRow). Verdi “”

    'sjekk om e-post allerede er sendt eller ikke
    Hvis sh.Range(“C” & iRow).Value = “” Da

    'Call SendEmail(S_UserName As String, S_EmailID As String)
    Ring SendEmail(sh.Range(“A” & iRow).Value, sh.Range(“B” & iRow).Value)
    sh.Range(“C” & iRow).Value = “Ja – Sendt oppgave. Lås opp for å sende revisjon"

    End If

    iRow = iRow + 1
    Loop

    End Sub

    ….og her er min innsats så langt, men pdf vil ikke legge ved når valgt:

    'VBA-prosedyre for å forberede og sende e-post

    Sub SendE-post(S_UserName As String, S_EmailID As String)

    'Erklære variabler som objekttype for å referere til Outlook-applikasjon og post

    Dim OutApp As Object ' Outlook-applikasjon
    Dim OutMail som objekt 'Outlook Mail Item
    Dim sImgName As String
    Dim resultat som variant

    result = Application.GetOpenFilename(“Alle filer,*.*,Excel-filer,*.xls,Word-filer,*.doc,PDF Filer,*.pdf")

    PathFileName = ThisWorkbook.path & “\” & FileName & “.pdf"

    'legg til bane og fil til variabler
    Dim aPath As String: aPath = Cells(1, 1).Verdi

    'Angi referansen til Outlook-applikasjonen

    Sett OutApp = CreateObject(“Outlook.Application”)

    'Angi referansen til posten

    Sett OutMail = OutApp.CreateItem(0)

    On Error Resume Next

    Med OutMail

    .Til = S_EmailID
    .Fra = ""
    .CC = S_Brukernavn
    .BCC = ""
    .attachments.Add ThisWorkbook.path & “\STP_DTask_instructions.pdf"
    .attachments.Add ThisWorkbook.path & “\STPLogo.jpg”
    .vedlegg.Legg til aPath
    .attachments.Add ActiveWorkbook.FullName
    myattachments.Legg til "FullPath\FileName.pdf"
    sImgName = "STPLogo.jpg"
    .Emne = Celler(8, 2). Verdi
    .HTMLBody = ""
    .Vise
    '.Sende
    Slutt med

    Sett OutMail = Ingenting
    Sett OutApp = Ingenting

    End Sub

    'VBA-underprosedyre til Start E-post

    Sub Start_Email()

    Dim iConfirmation As VbMsgBoxResult

    iConfirmation = MsgBox(“Send STP-utkastoppgave til tildelt – Ja?”, vbYesNo + vbQuestion, “Confirmation”)

    Hvis iConfirmation = vbNo Avslutt Sub

    'Erklære variabler for å referere til 'E-postliste'-regnearket

    Dim sh As arbeidsark
    Dim iRow som heltall

    Sett sh = ThisWorkbook.Sheets(“E-postliste”)

    iRow = 2

    Gjør mens sh.Range(“A” & iRow). Verdi “”

    'sjekk om e-post allerede er sendt eller ikke
    Hvis sh.Range(“C” & iRow).Value = “” Da

    'Call SendEmail(S_UserName As String, S_EmailID As String)
    Ring SendEmail(sh.Range(“A” & iRow).Value, sh.Range(“B” & iRow).Value)
    sh.Range(“C” & iRow).Value = “Ja – Sendt oppgave. Lås opp for å sende revisjon"

    End If

    iRow = iRow + 1
    Loop

    End Sub

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *