Skicka ett ark med VBA i Microsoft Excel

Anonim

I den här artikeln kommer vi att skapa ett makro för att skicka ett blad som bilaga i ett e -postmeddelande.

Innan vi kör makrot måste vi ange ett e -post -id och ämne för e -postmeddelandet.

I det här exemplet vill vi skicka "DataSheet" som en bilaga i e -postmeddelandet.

Logisk förklaring

Vi har skapat ett "MailSheet" -makro som tar e -post -id och ämne för e -postmeddelandet från textrutor. Den skapar en ny kopia av "DataSheet", sparar den och skickar den som en bilaga.

Kodförklaring

Ark ("Datablad"). Kopiera

Ovanstående kod används för att skapa en kopia av "DataSheet" i en ny arbetsbok.

ActiveWorkbook.SaveAs "Del av" & ThisWorkbook.Name _

& "" & StrDate & ".xls"

Ovanstående kod används för att spara den nya arbetsboken.

ActiveWorkbook.SendMail EmailID, MailSubject

Ovanstående kod används för att skicka den aktiva arbetsboken som en bilaga till det angivna e -post -id, med det angivna ämnet.

ActiveWorkbook.Close False

Ovanstående kod används för att stänga den aktiva arbetsboken utan att spara den.

Följ koden nedan

 Sub MailSheet () 'Declaring variables Dim StrDate, EmailID, MailSubject As String' Skaffa värde för e -post -ID och ämne från textrutor EmailID = Sheet1.TextBox1.Value MailSubject = Sheet1.TextBox2.Value 'Kopiera "DataSheet" till nya arbetsboksark (" DataSheet "). Kopiera 'Formatera datum och tid till ett visst format StrDate = Format (Datum," dd-mm-åå ") &" "& Format (Tid," h-mm ")' Sparar aktiv arbetsbok med nytt namn ActiveWorkbook. SaveAs "Part of" & ThisWorkbook.Name _ & "" & StrDate & ".xls" 'Sending mail ActiveWorkbook.SendMail EmailID, MailSubject' Close the active workbook ActiveWorkbook.Close False End Sub 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen