VBA Environ | Πώς να χρησιμοποιήσετε τη λειτουργία Environ στο VBA Excel;
Excel VBA ENVIRON (Περιβάλλον)
Η συνάρτηση VBA ENVIRON (σημαίνει ΠΕΡΙΒΑΛΛΟΝ ) που μπορεί να χαρακτηριστεί ως συνάρτηση πληροφοριών καθώς αυτή η συνάρτηση επιστρέφει τις τιμές για μεταβλητές περιβάλλοντος λειτουργικού συστήματος. Οι μεταβλητές περιβάλλοντος (Λειτουργικό σύστημα) περιέχουν πληροφορίες σχετικά με τα προφίλ όλων των χρηστών, το όνομα χρήστη, το προφίλ χρήστη, έναν αρχικό φάκελο για τον χρήστη κ.λπ. Αυτή η λειτουργία επιστρέφει μια τιμή συμβολοσειράς.
Σύνταξη
Αυτή η συνάρτηση έχει μόνο ένα όρισμα που είναι « Έκφραση ». Μπορούμε να καθορίσουμε την αριθμητική θέση (ακέραια τιμή) που αντιπροσωπεύει την αριθμητική θέση της μεταβλητής περιβάλλοντος στον πίνακα μεταβλητής περιβάλλοντος ή το ίδιο το όνομα της μεταβλητής .
Εάν καθορίσουμε την αριθμητική θέση, τότε η συνάρτηση επιστρέφει τη μεταβλητή περιβάλλοντος και την τιμή της και με ένα ίσο σύμβολο μεταξύ.
Εάν καθορίσουμε το όνομα της μεταβλητής τότε η μόνη τιμή επιστρέφεται από τη συνάρτηση.
Παραγωγή:
Πώς να χρησιμοποιήσετε τη λειτουργία Environ στο VBA;
Μπορείτε να κατεβάσετε αυτό το Πρότυπο VBA ENVIRON Excel εδώ - Πρότυπο VBA ENVIRON ExcelΠαράδειγμα # 1
Ανοίξτε τη γραμμή εντολών χρησιμοποιώντας τη συνάρτηση ENVIRON στο VBA .
Για να κάνετε το ίδιο, τα βήματα θα ήταν:
Εισαγάγετε το κουμπί εντολής χρησιμοποιώντας την εντολή «Εισαγωγή» που είναι διαθέσιμη στην ομάδα «Έλεγχοι» στην καρτέλα «Προγραμματιστής» ή χρησιμοποιήστε το πλήκτρο συντόμευσης excel ( Alt + F11 ).
Εάν η καρτέλα «Προγραμματιστής» δεν είναι ορατή, ακολουθήστε τα παρακάτω βήματα για να κάνετε την καρτέλα ορατή.
Κάντε κλικ στο «Αρχείο» και επιλέξτε «Επιλογές» από τη λίστα.
Επιλέξτε "Customize Ribbon" από το αριστερό μενού και επιλέξτε το πλαίσιο για την καρτέλα "Developer " και κάντε κλικ στο "OK" .
Τώρα η «καρτέλα προγραμματιστή» είναι ορατή.
Ενώ εισάγετε το κουμπί εντολής, εάν συνεχίζουμε να πατάμε το πλήκτρο ALT , τότε τα άκρα του κουμπιού εντολής θα είναι μαζί με το περίγραμμα κελιών. Αλλάξτε τις ιδιότητες του κουμπιού εντολής που εισάγετε χρησιμοποιώντας το μενού με βάση τα συμφραζόμενα, το οποίο λαμβάνουμε κάνοντας δεξί κλικ στο «κουμπί εντολής» .
Παράθυρο ιδιοτήτων
Για να γράψουμε τον κωδικό VBA για το κουμπί εντολής, πρέπει να επιλέξουμε το κουμπί εντολής και να επιλέξουμε «Προβολή κώδικα» από το μενού με βάση τα συμφραζόμενα.
Γράψτε τον κωδικό ως εξής:
Έχουμε καλέσει τη λειτουργία «Shell» για να πληκτρολογήσετε εντολή για να εκτελέσετε ένα πρόγραμμα (στην περίπτωσή μας που είναι γραμμή εντολών).
Έχουμε χρησιμοποιήσει το "ComSpec" , το οποίο σημαίνει "Command Specifier" .
Τώρα βγείτε από το VBE και κάντε κλικ στο κουμπί εντολής. Έχουμε εμφανίσει μια γραμμή εντολών.
Παράδειγμα # 2
Ας υποθέσουμε ότι θέλουμε να εξαγάγουμε ονόματα αρχείων και λεπτομέρειες για τον επιλεγμένο φάκελο ως εξής.
Τα βήματα για να κάνετε το ίδιο είναι:
Γεμίστε τα κελιά B2: H9 με ανοιχτό πορτοκαλί χρώμα.
Δημιουργήστε την ετικέτα χρησιμοποιώντας την εντολή «Εισαγωγή» στην ομάδα «Έλεγχοι» στο «Προγραμματιστής».
Δημιουργήστε κάτω εμφανίζονται ετικέτες και να επεξεργαστείτε τις ιδιότητες όπως η λεζάντα , Χρώμα φόντου , BackStyle , BorderStyle , Σκιά
Δημιουργήστε το Combo Box ως εξής χρησιμοποιώντας την εντολή Combo Box (ένα από τα στοιχεία ελέγχου ActiveX) που είναι διαθέσιμη στην εντολή Insert στην ομάδα Controls στο Developer.
Αφού δημιουργήσουμε το Combo Box στο excel ως εξής, μπορούμε να αλλάξουμε τις ιδιότητες.
Θα προσθέσουμε κώδικα για τη λίστα που θα εμφανίζεται στο σύνθετο πλαίσιο χρησιμοποιώντας την εντολή View Code στο μενού με βάση τα συμφραζόμενα.
Είναι ένας κωδικός για το «Επιλογή φακέλου» ComboBox.
Είναι ένας κωδικός για το " SortBy" ComboBox.
Είναι ένας κωδικός για το ComboBox «Επιλογή της παραγγελίας» .
Θα δημιουργήσουμε ένα πλαίσιο λίστας που θα περιέχει όλους τους τύπους αρχείων έτσι ώστε ο χρήστης να μπορεί να τους επιλέξει για να πάρει μόνο αυτούς τους τύπους αρχείων στο αποτέλεσμα. Για να κάνετε το ίδιο, επιλέξτε " List Box (ActiveX Control) " από την εντολή " Insert " στην ομάδα " Controls " στην καρτέλα " Developer ".
Σύρετε το πλαίσιο λίστας όπως φαίνεται παρακάτω.
Αλλάξτε τις ιδιότητες του πλαισίου λίστας ως εξής.
Για να προσθέσετε τους τύπους αρχείων στο πλαίσιο λίστας, χρησιμοποιήστε τον ακόλουθο κωδικό.
Γράψτε τον κωδικό στο "Αυτό το βιβλίο εργασίας".
Κώδικας:
Private Sub Workbook_Open () Dim ArrFileType (25) As Variant ArrFileType (0) = "Microsoft Excel 97-2003 Worksheet (.xls)" ArrFileType (1) = "Microsoft Office Excel Worksheet (.xlsx)" ArrFileType (2) = " Microsoft Excel Macro-Enabled Worksheet (.xlsm) "ArrFileType (3) =" Word Document 97-2003 (.doc) "ArrFileType (4) =" Word Document 2007-2010 (.docx) "ArrFileType (5) =" Text Έγγραφο (.txt) "ArrFileType (6) =" Adobe Acrobat Document (.pdf) "ArrFileType (7) =" Συμπιεσμένος (με φερμουάρ) φάκελος (.Zip) "ArrFileType (8) =" Αρχείο WinRAR (.rar) "ArrFileType (9) = "Ρυθμίσεις διαμόρφωσης (.ini)" ArrFileType (10) = "Αρχείο GIF (.gif)" ArrFileType (11) = "Αρχείο PNG (.png)" ArrFileType (12) = "Αρχείο JPG (.jpg) "ArrFileType (13) =" Ήχος μορφής MP3 (.mp3) "ArrFileType (14) = "Αρχείο M3U (.m3u)" ArrFileType (15) = "Μορφή εμπλουτισμένου κειμένου (.rtf)" ArrFileType (16) = "MP4 Video (.mp4)" ArrFileType (17) = "Βίντεο κλιπ (. avi) "ArrFileType (18) =" Windows Media Player (.mkv) "ArrFileType (19) =" SRT File (.srt) "ArrFileType (20) =" PHP File (.php) "ArrFileType (21) =" Firefox Έγγραφο HTML (.htm, .html) "ArrFileType (22) =" Cascading Style Sheet Document (.css) "ArrFileType (23) =" JScript Script File (.js) "ArrFileType (24) =" XML Document (.xml) ) "ArrFileType (25) =" Αρχείο δέσμης Windows (.bat) "Sheet2.FileTypesListBox.List = ArrFileType End Subavi) "ArrFileType (18) =" Windows Media Player (.mkv) "ArrFileType (19) =" SRT File (.srt) "ArrFileType (20) =" PHP File (.php) "ArrFileType (21) =" Firefox Έγγραφο HTML (.htm, .html) "ArrFileType (22) =" Cascading Style Sheet Document (.css) "ArrFileType (23) =" JScript Script File (.js) "ArrFileType (24) =" XML Document (.xml) ) "ArrFileType (25) =" Αρχείο δέσμης Windows (.bat) "Sheet2.FileTypesListBox.List = ArrFileType End Subavi) "ArrFileType (18) =" Windows Media Player (.mkv) "ArrFileType (19) =" SRT File (.srt) "ArrFileType (20) =" PHP File (.php) "ArrFileType (21) =" Firefox Έγγραφο HTML (.htm, .html) "ArrFileType (22) =" Cascading Style Sheet Document (.css) "ArrFileType (23) =" JScript Script File (.js) "ArrFileType (24) =" XML Document (.xml) ) "ArrFileType (25) =" Αρχείο δέσμης Windows (.bat) "Sheet2.FileTypesListBox.List = ArrFileType End SubArrFileType (24) = "XML Document (.xml)" ArrFileType (25) = "Windows Batch File (.bat)" Sheet2.FileTypesListBox.List = ArrFileType End SubArrFileType (24) = "XML Document (.xml)" ArrFileType (25) = "Windows Batch File (.bat)" Sheet2.FileTypesListBox.List = ArrFileType End Sub
Εισαγάγετε τα πλαίσια ελέγχου χρησιμοποιώντας την ίδια εντολή « Εισαγωγή » στην ομάδα « Έλεγχοι » στην καρτέλα « Προγραμματιστής » και αλλάξτε τις ιδιότητες για τα εισαγόμενα «Πλαίσια ελέγχου» χρησιμοποιώντας την εντολή «Ιδιότητες» που είναι διαθέσιμη στην ίδια ομάδα μετά την επιλογή των αντικειμένων.
Εισαγάγετε κουμπιά εντολών χρησιμοποιώντας την εντολή «Εισαγωγή» που είναι διαθέσιμη στην ίδια ομάδα και αλλάξτε τις ιδιότητες, όπως λεζάντα και άλλες ιδιότητες.
Έχουμε διαμορφώσει ολόκληρη τη δομή. Τώρα πρέπει να γράψουμε τον κωδικό.
Ενεργοποιήστε τη 'Λειτουργία σχεδίασης' και κάντε δεξί κλικ στο κουμπί « Ανάκτηση όλων των λεπτομερειών αρχείων » για να επιλέξετε το « Προβολή κώδικα » από το μενού με βάση τα συμφραζόμενα για να προσθέσετε τον κωδικό για το κουμπί.
Θα δηλώσουμε κάποια μεταβλητή πρώτα στην ενότητα.
Παρακάτω είναι ο κωδικός που προστέθηκε στο κουμπί " Ανάκτηση όλων των αρχείων ".
Κώδικας:
Private Sub FetchFilesBtnCommandButton_Click () iRow = 14 fPath = Environ ("HOMEPATH") & "\" & SelectTheFolderComboBox.Value If fPath "" Στη συνέχεια, ορίστε FSO = New Scripting.FileSystemObject If FSO.FolderExists (fPath) GetFolder (fPath) If Sheet2.Inc συμπεριλαμβανομένωνSubFoldersCheckBox.Value = True Then IsSubFolder = True Else IsSubFolder = False If SourceFolder.Files.Count = 0 Στη συνέχεια, MsgBox "Δεν υπάρχουν αρχεία σε αυτόν τον φάκελο" & vbNewLine & vbNewLine και "Ελέγξτε το φάκελό σας Και πάλι !! ", vbInformation Exit Sub End If End If Call ClearResult If FetchAllTypesOfFilesCheckBox.Value = True Then Call ListFilesInFolder (SourceFolder, IsSubFolder) Call ResultSorting (xlAscending," C14 "," D14 "," E14 ") ,IsSubFolder) Ταξινόμηση αποτελεσμάτων κλήσεων (xlAscending, "C14", "D14", "E14") End if FilesCountLabel.Caption = iRow - 14 Else MsgBox "Η επιλεγμένη διαδρομή δεν υπάρχει !!" & vbNewLine & vbNewLine & "Select Correct One and Δοκιμάστε Again !!", vbInformation End if Else MsgBox "Η διαδρομή φακέλου δεν μπορεί να είναι κενή !!" & vbNewLine & vbNewLine & "", vbInformation End if End SubvbInformation End if End SubvbInformation End if End Sub
Ορίστε τη λειτουργία "ClearResult" στη λειτουργική μονάδα. Για να εισαγάγετε τη λειτουργική μονάδα, επιλέξτε «ThisWorkbook» και στη συνέχεια «Εισαγωγή» και μετά «Module» ».
Γράψτε τον ακόλουθο κώδικα στην ενότητα.
Κωδικός για το ClearResult
Υπάρχουν περισσότερες υπορουτίνες όπως "ListFilesInFolder" , "ListFilesInFolderXtn" , "ResultSorting" , θα ορίσουμε όλες αυτές τις υπο ρουτίνες στην ενότητα.
«ListFilesInFolder»
Κώδικας:
Public Sub ListFilesInFolder (SourceFolder As Scripting.Folder, IncludeSubfolders As Boolean) On Error Resume Next For Every FileItem In SourceFolder.Files 'Εμφάνιση ιδιότητας αρχείου Cells (iRow, 2) .Formula = iRow - 13 Cells (iRow, 3) .Formula = FileItem.Name Cells (iRow, 4) .Formula = FileItem.Path Cells (iRow, 5) .Formula = Int (FileItem.Size / 1024) Cells (iRow, 6) .Formula = FileItem.Type Cells (iRow, 7) .Formula = FileItem.DateLastModified Cells (iRow, 8). Επιλέξτε Selection.Hyperlinks.Add Anchor: = Selection, Address: = _ FileItem.Path, TextToDisplay: = "Click Here to Open" 'Cells (iRow, 8) .Formula = "= HYPERLINK (" "" & FileItem.Path & "" "," "" & "Κάντε κλικ εδώ για άνοιγμα" & "" ")" iRow = iRow + 1 'επόμενος αριθμός σειράς Επόμενο FileItem If IncludeSubfolders Στη συνέχεια, για κάθε SubFolder στο SourceFolder.SubFolders ListFilesInFolder SubFolder, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nothing End Sub
"ListFilesInFolderXtn"
Δημόσια υπο Λίστα 2). Formula = iRow - 13 κελιά (iRow, 3). Formula = FileItem.Name Cells (iRow, 4). Formula = FileItem.Path Cells (iRow, 5) .Formula = Int (FileItem.Size / 1024) κελιά (iRow, 6) .Formula = FileItem.Type Cells (iRow, 7) .Formula = FileItem.DateLastModified Cells (iRow, 8). Επιλέξτε Selection.Hyperlinks.Add Anchor: = Επιλογή, Διεύθυνση: = _ FileItem.Path, TextToDisplay : = "Κάντε κλικ εδώ για να ανοίξετε" κελιά (iRow, 8). Formula = "= HYPERLINK (" "" & FileItem.Path & "" "," "" & "Κάντε κλικ εδώ για άνοιγμα" &"" ")" iRow = iRow +1 'αριθμός επόμενης σειράς Τερματισμός Εάν Επόμενο αρχείο File If It include Sububololders Στη συνέχεια για κάθε SubFolder στο SourceFolder.SubFolders ListFilesInFolderXtn SubFolder, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nothing End Sub
«Αποτέλεσμα ταξινόμησης»
Sub ResultSorting (xlSortOrder As String, sKey1 As String, sKey2 As String, sKey3 As String) Range ("C13"). Select Range (Selection, Selection.End (xlDown)). Select Range (Selection, Selection.End (xlToRight) Επιλέξτε. Επιλογή. Κλειδί ταξινόμησης 1: = Εύρος (sKey1), Παραγγελία 1: = xlSortOrder, Κλειδί2: = Εύρος (sKey2 _), Παραγγελία2: = xlΑύξηση, Κλειδί3: = Εύρος (sKey3), Παραγγελία3: = xlSortOrder, Κεφαλίδα _: = xlGuess, OrderCustom: = 1, MatchCase: = False, Orientation: = xlTopToBottom _, DataOption1: = xlSortNormal, DataOption2: = xlSortNormal, DataOption3: = _ xlSortNormal Range ("B14"). Επιλέξτε End Sub
Στην υπορουτίνα «ListFilesInFolderXtn» , καλέσαμε μια συνάρτηση που ονομάζεται «ReturnFileType» και «GetFileTypeArray» , πρέπει να καθορίσουμε τις συναρτήσεις στην ίδια ενότητα.
"ReturnFileType"
Κώδικας:
Δημόσια συνάρτηση ReturnFileType (fileType as String, FileArray As Variant) As Boolean Dim i As Integer IsFileTypeExists = False For i = 1 To UBound (FileArray) + 1 If FileArray (i - 1) = fileType Στη συνέχεια IsFileTypeExists = True Exit για Else IsFile Λάθος άκρο αν συνάρτηση επόμενου άκρου
"GetFileTypeArray"
Κώδικας:
Public Function Get_File_Type_Array () As Variant Dim i, j, TotalSelected As Integer Dim arrList () As String TotalSelected = 0 For i = 0 to Sheet2.FileTypesListBox.ListCount - 1 If Sheet2.FileTypesListBox.Selected (i) = True then Total TotalSelected + 1 End If Next ReDim arrList (0 To TotalSelected - 1) As String j = 0 i = 0 For i = 0 To Sheet2.FileTypesListBox.ListCount - 1 If Sheet2.FileTypesListBox.Selected (i) = True Μετά arrList (j) ) = Αριστερά (Sheet2.FileTypesListBox.List (i), InStr (1, Sheet2.FileTypesListBox.List (i), "(") - 1) j = j + 1 End If Next Get_File_Type_Array = arrList End Function
Έχουμε ένα κουμπί εντολής με τίτλο «Εξαγωγή σε αρχείο Excel» , πρέπει να γράψουμε τον κωδικό για αυτό το κουμπί ως εξής:
Στην ενότητα, ορίστε την υπορουτίνα με το όνομα «Export_to_excel» .
Κώδικας:
Sub Export_to_excel () On Error GoTo err Dim xlApp As New Excel.Aplication Dim xlWB As New Workbook Set xlWB = xlApp.Workbooks.Add 'xlWB.Add xlApp.Visible = False ThisWorkbook.Activate Range ("B13"). Επιλέξτε Range ( Selection, Selection.End (xlDown)). Επιλέξτε Range (Selection, Selection.End (xlToRight)). Επιλέξτε Selection.Copy xlApp.Visible = True xlWB.Activate xlWB.Sheets ("Sheet1"). Επιλέξτε xlWB.Sheets (" Sheet1 "). Range (" B2 "). PasteSpecial Paste: = xlPasteValues xlWB.Sheets (" Sheet1 "). Cells. Επιλέξτε xlWB.Sheets (" Sheet1 "). Cells.EntireColumn.AutoFit xlWB.Sheets (" Sheet1 ") .Range ("B2"). Επιλέξτε Exit Sub err: MsgBox ("Παρουσιάστηκε σφάλμα κατά την εξαγωγή. Δοκιμάστε ξανά") End Sub
Έχουμε ένα ακόμη κουμπί εντολής με τίτλο «Εξαγωγή σε αρχείο κειμένου» . Θα γράψουμε τον κωδικό για το κουμπί εντολής ως εξής:
Σε αυτόν τον κώδικα, μπορούμε να δούμε ότι έχουμε μια φόρμα χρήστη, την οποία πρέπει να σχεδιάσουμε ακολουθώντας τα ακόλουθα βήματα:
Κάντε δεξί κλικ στο φύλλο "Sheet2 (Example2)" και επιλέξτε "Insert" και στη συνέχεια "UserForm" από το μενού.
Σχεδιάστε το UserForm χρησιμοποιώντας εργαλεία από την εργαλειοθήκη.
Έχουμε χρησιμοποιήσει τα «Ετικέτες» , «Combo Box» , «Text Box» και «Κουμπιά εντολών» για τη φόρμα χρήστη και έχουμε αλλάξει λεζάντα και όνομα για όλα τα στοιχεία.
Για το πρώτο κουμπί εντολής (ΟΚ) , πρέπει να γράψουμε τον κωδικό ως εξής:
Κώδικας:
Private Sub CommandButton1_Click () Dim iSeperator As String If ComboBox1.Value = "Other" Then iSeperator = TextBox1.Value Else iSeperator = ComboBox1.Value End If If iSeperator = "" Στη συνέχεια, εάν το MsgBox ("Γεια σας, δεν έχετε επιλέξει κανένα άλλομετρο." & vbNewLine & vbNewLine & _ "Θα είναι πολύ δύσκολο να διαβάσετε το αρχείο κειμένου, χωρίς συγκεκριμένο οριοθέτη", vbYesNo) = vbΝαι Καλέστε το textfile (iSeperator) Else Exit Sub End if Else Select Case ComboBox1.ListIndex Περίπτωση 0: iSeperator = " , "Περίπτωση 1: iSeperator =" | " Περίπτωση 2: iSeperator = "vbTab" Περίπτωση 3: iSeperator = ";" End Select Call textfile (iSeperator) Εκφόρτωση Me End if End Sub
Έχουμε ονομάσει συνάρτηση «textfile» στην υπορουτίνα για το κουμπί εντολής και γι 'αυτό πρέπει να ορίσουμε τη λειτουργία «textfile» στη μονάδα.
Κώδικας:
Sub textfile (iSeperator As String) Dim iRow, iCol Dim iLine, f ThisWorkbook.Activate Range ("B13"). Select TotalRowNumber = Range (Selection, Selection.End (xlDown)). Count - 12 If iSeperator "vbTab" Στη συνέχεια ανοίξτε ThisWorkbook.Path & "\ File1.txt" For Output As # 1 Print # 1, "" Close # 1 Open ThisWorkbook.Path & "\ File1.txt" For Append As # 1 For iRow = 13 To TotalRowNumber iLine = "" Για iCol = 2 έως 7 iLine = iLine & iSeperator & Cells (iRow, iCol). Value Next Print # 1, iLine Next Close # 1 Else Open ThisWorkbook.Path & "\ File1.txt" For Output As # 1 Print # 1 , "" Κλείσιμο # 1 Άνοιγμα ThisWorkbook.Path & "\ File1.txt" για προσάρτηση ως # 1 Για iRow = 13 To TotalRowNumber iLine = "" Για iCol = 2 έως 7 iLine = iLine & vbTab & Cells (iRow, iCol) .Value Next Print # 1, iLine Next Close # 1 End If f = Shell ("C: \ WINDOWS \ notepad.exe" & ThisWorkbook.Path & "\ File1.txt", vbMaximizedFocus) MsgBox "Το αρχείο σας αποθηκεύεται στο" & ThisWorkbook.Path & "\ File1.txt" End Sub
Για το κουμπί εντολής 2 (Ακύρωση) , πρέπει να γράψουμε τον ακόλουθο κωδικό. Κάντε διπλό κλικ στο κουμπί ακύρωσης για να γράψετε τον κωδικό.
Για το Combo Box για την επιλογή ενός προσδιοριστή, γράψτε τον ακόλουθο κωδικό.
Για το UserForm, γράψτε τον ακόλουθο κωδικό.
Για το πλαίσιο ελέγχου "Ανάκτηση όλων των τύπων αρχείων" , γράψτε τον ακόλουθο κώδικα.
Για το «ListBox» για τύπους αρχείων, γράψτε τον ακόλουθο κώδικα.
Για το σύνθετο πλαίσιο «SelectTheOrder» , γράψτε τον ακόλουθο κωδικό.
Κώδικας:
Private Sub SelectTheOrderComboBox_Change () Select Case (SelectTheOrderComboBox.Value) Case "Ascending" If SortByComboBox.Value = "Όνομα αρχείου" Στη συνέχεια, Call ResultSorting (xlAscending, "C14", "E14", "G14") End if If SortByComb "Τύπος αρχείου" Στη συνέχεια, Call ResultSorting (xlAscending, "F14", "E14", "C14") End if If SortByComboBox.Value = "Μέγεθος αρχείου" Στη συνέχεια, Call ResultSorting (xlAscending, "E14", "C14", "G14" ) Τερματισμός Εάν Εάν SortByComboBox.Value = "Τελευταία τροποποίηση" Στη συνέχεια, Call ResultSorting (xlAscending, "G14", "C14", "E14") End If Case "Descending" If SortByComboBox.Value = "Όνομα αρχείου" Στη συνέχεια, Call ResultSorting (xlDescending , "C14", "E14", "G14") Τερματισμός Εάν SortByComboBox.Value = "Τύπος αρχείου" Στη συνέχεια, Κλήση ResultSorting (xlDescending, "F14", "E14", "C14") End if If SortByComboBox.Value = "Μέγεθος αρχείου" Στη συνέχεια, καλέστε ResultSorting (xlDescending, "E14" , "C14", "G14") Τερματισμός Εάν ΕάνΣτη συνέχεια, Call ResultSorting (xlDendingending, "G14", "C14", "E14") Τερματισμός Εάν η υπόθεση προεπιλογή Έξοδος Sub End Επιλέξτε End SubΣτη συνέχεια, Call ResultSorting (xlDendingending, "G14", "C14", "E14") Τερματισμός Εάν η υπόθεση προεπιλογή Έξοδος Sub End Επιλέξτε End Sub
Για το σύνθετο πλαίσιο «Sortby» , θα γράψουμε τον ακόλουθο κωδικό.
Κώδικας:
Private Sub SortByComboBox_Change () Select Case (SelectTheOrderComboBox.Value) Case "Ascending" If SortByComboBox.Value = "Όνομα αρχείου" Στη συνέχεια, Call ResultSorting (xlAscending, "C14", "E14", "G14") End if If SortByComb "Τύπος αρχείου" Στη συνέχεια, Call ResultSorting (xlAscending, "F14", "E14", "C14") End if If SortByComboBox.Value = "Μέγεθος αρχείου" Στη συνέχεια, Call ResultSorting (xlAscending, "E14", "C14", "G14" ) Τερματισμός Εάν Εάν SortByComboBox.Value = "Τελευταία τροποποίηση" Στη συνέχεια, Call ResultSorting (xlAscending, "G14", "C14", "E14") End If Case "Descending" If SortByComboBox.Value = "Όνομα αρχείου" Στη συνέχεια, Call ResultSorting (xlDescending , "C14", "E14", "G14") Τερματισμός Εάν SortByComboBox.Value = "Τύπος αρχείου" Στη συνέχεια, Κλήση ResultSorting (xlDescending, "F14", "E14", "C14") End if If SortByComboBox.Value = "Μέγεθος αρχείου" Στη συνέχεια, καλέστε ResultSorting (xlDescending, "E14" , "C14", "G14") Τερματισμός Εάν SortByComboBox.Value = "Τελευταία τροποποίηση" Στη συνέχεια, Call ResultSorting (xlDescending, "G14", "C14", "E14") End if Case Case Default Exit Sub End Select End Sub"G14", "C14", "E14") Λήξη εάν η προεπιλεγμένη περίπτωση εξόδου Έξοδος Sub End Επιλέξτε End Sub"G14", "C14", "E14") Λήξη εάν η προεπιλεγμένη περίπτωση εξόδου Έξοδος Sub End Επιλέξτε End Sub
Τώρα έχουμε γράψει ολόκληρο τον κώδικα. Τώρα μπορούμε να επιλέξουμε τον επιθυμητό φάκελο και τον τύπο αρχείου και να μάθουμε τη λίστα για τα αρχεία, τα οποία μπορούμε να ταξινομήσουμε, κατά «Όνομα αρχείου», «Τύπος αρχείου», «Μέγεθος αρχείου» ή «Τελευταία τροποποίηση» και μπορούμε να εξάγουμε τη λίστα σε excel ή αρχείο κειμένου.
Πράγματα που πρέπει να θυμάστε
Εάν η τιμή, την οποία καθορίζουμε για το όρισμα «envstring» δεν βρίσκεται στον πίνακα συμβολοσειράς περιβάλλοντος, η συνάρτηση ENVIRON επιστρέφει τη συμβολοσειρά μηδενικού μήκους