I denne artikkelen vil vi lage en makro for å skrive ut alle Excel -filene i en mappe.
Vi har noen Excel -filer i en mappe som vi vil skrive ut. Alle har den samme filtypen ".xlsx"
Kode forklaring
Dir (TargetFolder & FileFilter)
Koden ovenfor brukes til å hente filnavnet til den første filen i mappebanen.
Arbeidsbøker. Åpne målmappe og filnavn
Koden ovenfor brukes til å åpne den definerte arbeidsboken.
ActiveWorkbook.PrintOut
Koden ovenfor brukes til å skrive ut den aktive arbeidsboken.
Følg koden nedenfor
Option Explicit Sub PrintAllWorkbooksInFolder (TargetFolder As String, FileFilter As String) 'Declaring variable Dim FileName As String' Deaktiverer skjermoppdateringer Application.ScreenUpdating = False 'Legger til banen skilletegn i slutten av målmappenavn Hvis Høyre (TargetFolder, 1) "\" Deretter avslutter TargetFolder = TargetFolder & "\" If If Assigning default path to file filter If FileFilter = "" Then FileFilter = "*.xls" 'Hent filnavnet til den første filen i mappen FileName = Dir (TargetFolder & FileFilter) Mens Len (Filnavn)> 0 Hvis Filnavn ThisWorkbook.Name Deretter 'Åpne arbeidsbok Arbeidsbøker. Åpne målmappe og filnavn' Skriver ut alle arkene i arbeidsboken ActiveWorkbook.PrintOut 'Lukk arbeidsboken uten å lagre noen endringer ActiveWorkbook.Close False End Hvis' Få filnavn på neste fil i mappen FileName = Dir Wend End Sub Sub CallingProcedure () 'Declaring variables Dim FolderPath, FileName As String' Henter verdier fra tekstboks på ark1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Calling PrintAllWorkbooksInFolder procedure PrintAllWorkbooksInFolder FolderPath, FileName End Sub
Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post