VBA / VB6 - Windows 탐색기로 파일 목록 선택

API (GetOpenFileName)로 파일 목록 (또는 하나만 선택)을 선택하십시오.

Windows 탐색기를 사용하여 단순화 된 기능.

또한이 코드는 컨트롤을 조정할 경우 VBA에서 작동합니다.

너는 바꿀 수있어.

  • 제목
  • OFN_ALLOWMULTISELECT 상수를 제거하여 단일 파일 반환
  • OFN_EXPLORER 상수를 제거하여 이전 버전의 Explorer

코드

 '**********************************'Auteur -> Lermite222 '선택 가이드 'explorateur Windows'버전 1 '29 / 01 / 2012 '******************************** 개인 선언 함수 GetOpenFileName Lib "comdlg32.dll"별명 _ "GetOpenFileNameA"(OPOFILENAME으로 pOpenfilename) 긴 개인 유형 OPENFILENAME lStructSize 긴 hWndOwner 긴 긴 hInstance 같이 lpstrCustomFilter 같이 문자열 lpstrCustomFilter As String nMaxCustFilter As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As 문자열 끝 유형 공공 열거 LnFlags OFN_ALLOWMULTISELECT = & H200 OFN_CREATEPROMPT = & H2000 OFN_ENABLEHOOK = & H20 OFN_ENABLETEMPLATE = & H40 OFN_ENABLETEMPLATEHANDLE = 한 lpTemplateName 한 lpfnHook으로 문자열 lCustData으로 정수 lpstrDefExt으로 정수 nFileExtension만큼 nFileOffset로 문자열 플래그로 문자열 lpstrTitle 한 lpstrInitialDir로 문자열 nMaxFileTitle & 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 최종 열거 개인 서브 Command1_Click () (Retour, vbNullChar) '라는 표현을 사용합니다. 만약 UBound (TB) = TB이면, Retour = ""Retail = "Retail ="Retail = 0 다음에 'Un seul fichier sélectionner for i = Len (TB (0)) 1 단계 -1 Mid (TB (0), i, 1) = "\"이면 Exit For 다음 List1.AddItem Mid (TB ), i + 1) TB (0) = 왼쪽 (TB (0), i) 그렇지 않으면 목록에서 제외 가능 i = 1에서 UBound (TB) List1.AddItem TB (i) 다음 끝 If Label1.Caption = TB (0) End Sub Private Sub Command2_Click () List1.Clear Label1 = ""End Sub 함수 ListeFichier () 문자열로 Dim Ret Retail L LN_Ouv.lStructSize = Len (LN_Ouv) LN_Ouv.hWndOwner = Me.hWnd LN_Ouv.hInstance = App.hInstance LN_Ouv.lpstrFilter = "Musique (* .mp3)"+ Chr $ (0) + "* .mp3 LN_Ouv.lpstrFile = String $ (1024, vbNullChar) LN_Ouv.nMaxFile = Len (0) + Chr $ (0) + "Tous (*. *) (LN_Ouv.lpstrFile) - 1 'Longueur 최대 de la sélection des fichiers. LN_Ouv.lpstrTitle = "선택 목록", "제목 검색"지시어 모드 다람쥐 지정. LN_Ouv.flags = OFN_ALLOWMULTISELECT + OFN_EXPLORER 'Retich = 0이면 ListeFichier = ""Else ListeFichier = Left $ (LN_Ouv.lpstrFile, InStr (1, LN_Ouv.lpstrFile, vbNullChar & vbNullChar) - 2) End If End Function 

다운로드

여기에서 프로젝트를 다운로드하십시오.

이전 기사 다음 기사

톱 팁