VBA / VB6 - Válassza ki a fájlok listáját a Windows Intézővel

Válasszon ki egy listát a fájlokról (vagy csak egyet) az API-val: GetOpenFileName.

Egyszerűsített funkció a Windows Intéző segítségével.

Ez a kód VBA-ban is működik, feltéve, hogy beállítja a vezérlőket.

Meg tudsz változni

  • a cím
  • Egy fájl visszaállítása az OFN_ALLOWMULTISELECT konstans eltávolításával
  • Az Explorer régi változata az OFN_EXPLORER konstans eltávolításával

A kód

 '*********************************' Auteur -> Lermite222 'Sélection d'une liste de fichiers' avec l 'explorateur Windows' 1-es verzió '29 / 01/2012 '********************************* Privát bejelentés funkció GetOpenFileName Lib "comdlg32.dll" Alias ​​_ "GetOpenFileNameA" (pOpenfilename mint OPENFILENAME) Hosszú privát típus OPENFILENAME lStructSize As Long hWndOwner Hosszú hInstance As Long lpstrFilter mint String lpstrCustomFilter Stringként nMaxCustFilter As Long nFilterIndex Ahogy hosszú húr nMaxFileTitle As Long lpstrInitialDir As string lpstrTitle As string zászlók As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As string lCustData As Long lpfnHook As Long lpTemplateName As string End Type Public Felsorolt ​​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 karakterláncként, i mint integer Dim TB Retour = ListeFichier () Ha Retour = "" Ezután kilép Al 'L'utilisateur à canceler TB = Split (Retour, vbNullChar)' Ubound (TB) = 0 Majd 'un seul fichier sélectionner Az i = Len (TB (0)) 1-re -1 lépéshez Ha a Mid (TB (0), i, 1) = "" majd kilép a következő listára1.AddItem Mid (TB (0 ), i + 1) TB (0) = Bal (TB (0), i) Egyéb 'Une liste est disponnible Az i = 1 UBound (TB) listára1.AddItem TB (i) Következő vége Ha Label1.Caption = TB (0) Vége Sub Private Sub Command2_Click () List1.Clear Label1 = "" Végső alfunkció ListeFichier () Stringként Dim Ret As L ong Dim LN_Ouv Mint 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" "Titre de l'explorateur" direktíva öntsön le. LN_Ouv. - 2) Vége Ha vége funkció 

Letöltés

Töltse le a projektet itt.

Előző Cikk Következő Cikk

Top Tippek