VBA / VB6 - pasirinkite failų sąrašą su „Windows Explorer“

Pasirinkite failų sąrašą (arba vieną) su API: GetOpenFileName.

Supaprastinta funkcija naudojant „Windows Explorer“.

Šis kodas taip pat veikia VBA, jei reguliuojate valdiklius.

Galite keisti

  • Antraštė
  • Vieno failo grąžinimas pašalinant konstanta OFN_ALLOWMULTISELECT
  • Senoji „Explorer“ versija pašalinant pastovią OFN_EXPLORER

Kodas

 '*********************************' Auteur -> Lermite222 'Sélection d'une liste de fichiers' avec l 'explorateur Windows' 1 versija '29 / 01/2012 '********************************* Privatus skelbimas funkcija GetOpenFileName Lib "comdlg32.dll" Alias ​​_ "GetOpenFileNameA" (pOpenfilename kaip OPENFILENAME) Kaip ilgas privatus tipas OPENFILENAME lStructSize Kaip ilgas hWndOwner kaip ilgas hInstance Kaip ilgas lpstrFilter As String lpstrCustomFilter Kaip eilutė nMaxCustFilter Kaip ilgas nFilterIndex Kaip ilgas lpstrFile kaip eilutė nMaxFile kaip ilgas lpstrFileTitle As Long lpstrFileTitle As Styginių nMaxFileTitle tol lpstrInitialDir As string lpstrTitle As string vėliavų tol nFileOffset As Integer nFileExtension As Integer lpstrDefExt As string lCustData tol lpfnHook tol lpTemplateName As string pabaiga tipas visuomenės 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 Pabaiga Enum Private Sub Command1_Click () „Dim Retour“ kaip eilutė, „i“ kaip „Integer“ „Dim TB Retour“ = „ListeFichier“ () Jei retour = „“, tada „Exit Sub“ L'utilisateur à canceler TB = Split (retour, vbNullChar) „UBound“ (TB) = 0 Tada 'un seul fichier sélectionner i = Len (TB (0)) iki 1 žingsnis -1 Jei vidurio (TB (0), i, 1) = "" tada išeiti į kitą sąrašą1.AddItem Mid (TB (0 ), i + 1) TB (0) = kairė (TB (0), i) kita „Une liste est disponnible“ i = 1 į UBound (TB) sąrašas1.AddItem TB (i) Kitas pabaiga Jei Label1.Caption = TB (0) Baigti asmeninį subkomentą Command2_Click () List1.Clear Label1 = "" Pabaigos subfunkcija ListeFichier () kaip eilutė Dim Ret As L ong Dim LN_Ouv Kaip OPENFILENAME LN_Ouv.lStructSize = Len (LN_Ouv) LN_Ouv.hWndOwner = Me.hWnd LN_Ouv.hInstance = App.hInstance LN_Ouv.lpstrFilter = "Musique (* .mp3) + Chr $ (0) +" * .mp3 "+ Chr $ (0) +" Tous (*. *) "+ Chr $ (0) +" *. * "+ Chr $ (0) LN_Ouv.lpstrFile = String $ (1024, vbNullChar) LN_Ouv.nMaxFile = Len (LN_Ouv.lpstrFile) - 1 „Longueur maximum de la sélection des fichiers“. LN_Ouv.lpstrTitle = "Sélection liste de fichier" Direktyva „Titre de l'explorateur“ leis įeiti į režimą. LN_Ouv. - 2) Pabaigos funkcija 

parsisiųsti

Atsisiųskite projektą čia.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai