Σε αυτό το άρθρο, θα δημιουργήσουμε μια μακροεντολή για την εκτύπωση όλων των αρχείων Excel σε ένα φάκελο.
Έχουμε μερικά αρχεία Excel μέσα σε ένα φάκελο που θέλουμε να εκτυπώσουμε. Όλα έχουν την ίδια επέκταση αρχείου, ".xlsx"
Επεξήγηση κώδικα
Dir (TargetFolder & FileFilter)
Ο παραπάνω κώδικας χρησιμοποιείται για να λάβει το όνομα αρχείου του πρώτου αρχείου στη διαδρομή του φακέλου.
Βιβλία εργασίας. Άνοιγμα TargetFolder & FileName
Ο παραπάνω κώδικας χρησιμοποιείται για να ανοίξει το καθορισμένο βιβλίο εργασίας.
ActiveWorkbook.PrintOut
Ο παραπάνω κώδικας χρησιμοποιείται για την εκτύπωση του ενεργού βιβλίου εργασίας.
Ακολουθήστε παρακάτω για τον κωδικό
Επιλογή Explicit Sub PrintAllWorkbooksInFolder (TargetFolder As String, FileFilter As String) 'Δήλωση μεταβλητής Dim FileName As String' Απενεργοποίηση ενημερώσεων οθόνης Application.ScreenUpdating = Λάθος 'Προσθήκη διαχωριστικού διαδρομής στο τέλος του ονόματος φακέλου προορισμού Αν είναι σωστό (TargetFolder, 1) "" " Στη συνέχεια, TargetFolder = TargetFolder & "\" End If "Εκχώρηση προεπιλεγμένης διαδρομής στο φίλτρο αρχείων If FileFilter =" "Στη συνέχεια FileFilter ="*.xls "'Λάβετε το όνομα αρχείου του πρώτου αρχείου στο φάκελο FileName = Dir (TargetFolder & FileFilter) Ενώ Len (Όνομα αρχείου)> 0 Εάν το Όνομα αρχείου ThisWorkbook.Name Στη συνέχεια, «Άνοιγμα βιβλίου εργασίας». Ανοίξτε το TargetFolder & FileName «Εκτυπώνει όλα τα φύλλα στο βιβλίο εργασίας ActiveWorkbook.PrintOut» Κλείστε το βιβλίο εργασίας χωρίς να αποθηκεύσετε καμία αλλαγή ActiveWorkbook.Close False End If "Λήψη ονόματος αρχείου επόμενο αρχείο στο φάκελο FileName = Dir Wend End Sub Sub CallingProcedure () 'Δήλωση μεταβλητών Dim FolderPath, FileName As String' Λήψη τιμών από το πλαίσιο κειμένου στο φύλλο1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Calling PrintAllWorkbooksInFolder διαδικασία PrintAllWorkbooksInFolder FolderPath, FileName End End
Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email