フォルダーの一覧取得

サンプル

(2007.12.01)

  概要


フォルダーの選択と内容の取得

 

 

 


 

  ソース

 

フォルダーの選択部分

 

 

'******************************************************
'* フォルダパス取得
'******************************************************
Private Function GetFilePath() As String
  Dim objShell As Object 'Shell
  Dim objFolder As Object 'Shell32.Folder

  Const strTitle = "フォルダを選択してください。"
  GetFilePath = ""

  '  シェルのオブジェクトを作成する
  Set objShell = CreateObject("Shell.Application")

  'フォルダー参照に設定
  Const lngRef = &H1

  'ルートフォルダーをデスクトップに設定
  '5でMy Documents、6でFavoritesなど
  Const fldRoot = &H0

  Set objFolder = objShell.BrowseForFolder(0, strTitle, lngRef, fldRoot)
  Set objShell = Nothing

  'フォルダー名を取出す
  If objFolder Is Nothing Then 'キャンセルチェック
   GetFilePath = ""
  Else
   GetFilePath = objFolder.Items.Item.Path
  End If
End Function
 

 

     

 

 

取得部分

 

Private Sub FileDisp(strPath As String, rs As Recordset)
  Dim objFs As Object
  Dim objFld As Object
  Dim objFl As Object
  Dim objSub As Objec
t

  Set objFs = CreateObject("Scripting.FileSystemObject")
  Set objFld = objFs.GetFolder(strPath)
  For Each objFl In objFld.Files
   rs.AddNew
   rs!ファイル名 = objFl.Name '
   rs!パス = objFl.ParentFolder.Path '
   rs!サイズ = Int(objFl.Size / 1024) '
   rs!種類 = objFl.Type '
   rs!作成日 = objFl.DateCreated '
   rs!最終アクセス日 = objFl.DateLastAccessed '
   rs!更新日 = objFl.DateLastModified '
   rs.Update

  Next
  For Each objSub In objFld.SubFolders
   FileDisp objSub.Path, rs
  Next
End Sub

Private Sub cmd02_Click()
  Dim strPath As String
  strPath = txt01.Value
  Set db = CurrentDb
  Set rs = db.OpenRecordset("T_00")
  'データ削除
  db.Execute "Delete From T_00;"

  Call FileDisp(strPath, rs)

  Set rs = Nothing
  Set db = Nothing
  DoCmd.Close
  DoCmd.OpenTable "T_00"
End Sub

 

 


ここに掲載された情報を使用したことによって発生した、いかなる損害に対しても
管理者であるしゃくは一切責任を負いません。