VBA / VB6 - Chọn danh sách các tệp với Windows Explorer

Chọn danh sách các tệp (hoặc chỉ một) với API: GetOpenFileName.

Một chức năng đơn giản hóa bằng Windows Explorer.

Mã này cũng hoạt động trong VBA miễn là bạn điều chỉnh các điều khiển.

Bạn có thể thay đổi

  • tiêu đề
  • Sự trở lại của một tệp bằng cách xóa hằng số OFN_ALLOWMULTISELECT
  • Phiên bản cũ của Explorer bằng cách xóa hằng số OFN_EXPLORER

Mật mã

 '****** / TÌM HIỂU' Auteur -> Lermite222 'Sélection d'une liste de fichiers' avec l 'thám hiểm Windows' Phiên bản 1 '29 / 01/2012 '****** / TÌM HIỂU Chức năng khai báo riêng tư GetOpenFileName Bí danh của Lib chuỗi nMaxFileTitle As Long lpstrInitialDir As string lpstrTitle Như cờ chuỗi As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As string lCustData As Long lpfnHook As Long lpTemplateName As string End Loại Công Enum LnFlags OFN_ALLOWMULTISELECT = & H200 OFN_CREATEPROMPT = & H2000 OFN_ENABLEHOOK = & H20 OFN_ENABLETEMPLATE = & H40 OFN_ENABLETEMPLATEHANDLE = & H80 OFN_EXPLORER = & H80000 OFN_EXTENSIONDIFFERENT = & H400 OFN_FILEMUSTEXIST = & H10 00 OFN_HIDEREADONLY = & H4 OFN_LONGNAMES = & H200000 OFN_NOCHANGEDIR = & H8 OFN_NODEREFERENCELINKS = & H100000 OFN_NOLONGNAMES = & H40000 OFN_NONETWORKBUTTON = & H20000 OFN_NOREADONLYRETURN = & H8000 OFN_NOTESTFILECREATE = & H10000 OFN_NOVALIDATE = & H100 OFN_OVERWRITEPROMPT = & H2 OFN_PATHMUSTEXIST = & H800 OFN_READONLY = & H1 OFN_SHAREAWARE = ​​& H4000 OFN_SHOWHELP = & H10 End Enum Private Sub Command1_Click () Dim Retour As String, i As Integer Dim TB Retour = ListeFichier () If Retour = "" Sau đó thoát Sub 'L'utilis Nghiệp à annuler TB = Split (Retour, vbNullChar)' Séparation de la liste si tồn tại nếu UBound (TB) = 0 Sau đó 'un seul fichier sélectionner For i = Len (TB (0)) Đến 1 Bước -1 Nếu Mid (TB (0), i, 1) = "\" Sau đó thoát khỏi danh sách tiếp theo1.AddItem Mid (TB (0 ), i + 1) TB (0) = Trái (TB (0), i) Else 'Une liste est disponnible For i = 1 To UBound (TB) List1.AddItem TB (i) Next End If Label1.Caption = TB (0) End Sub Sub Sub Sub Command2_Click () List1.Clear Label1 = "" End Sub Hàm ListeFichier () As String Dim Ret As L ong Dim LN_Ouv Như OPENFILENAME LN_Ouv.lSturationSize = Len (LN_Ouv) LN_Ouv.hWndOwner = Me.hWnd LN_Ouv.hInstance = App.hInstance LN_Ouv.lpstrFilter = "" "+ Chr $ (0) +" Tous (*. *) "+ Chr $ (0) +" *. * "+ Chr $ (0) LN_Ouv.lpstrFile = Chuỗi $ (1024, vbNullChar) LN_Ouv.nMaxFile = Len (LN_Ouv.lpstrFile) - 1 'Longueur max de la sélection des fichiers. LN_Ouv.lpstrTitle = "Sélection liste de fichier" 'Titre de l'explor Nghiệp' chỉ thị đổ le mode d'affichage. LN_Ouv.flags = OFN_ALLOWMULTISELECT + OFN_EXPLORER 'Affichage de l'explor Nghiệp Ret = GetOpenFileName - 2) Kết thúc nếu chức năng kết thúc 

Tải về

Tải dự án tại đây.

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên