Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13632 / 76738 ←次へ | 前へ→

【68609】Re:指定フォルダ内のファイルの読み込み
回答  UO3  - 11/3/29(火) 10:11 -

引用なし
パスワード
   ▼ぴょんきち さん:

こんにちは

サブフォルダもということなら、いろいろ方法はありますが、わりとポピュラーな
FSOの例です。(最初にアップしたSample2の方式)

Sub Sample3()
  Dim myPath As String
  Dim myFso As Object
  Dim myPool As Collection
  Dim myFold As Object
  Dim myData As Variant
  
  myPath = Get_Folder
  If myPath = "" Then Exit Sub
 
  Set myFso = CreateObject("Scripting.FileSystemObject")
  Set myFold = myFso.getfolder(myPath)
  Set myPool = New Collection
  
  Call getBooks(myFold, myPool) '中でサブフォルダ内も再帰で検索
  
  For Each myData In myPool
    MsgBox myData(0) & vbLf & myData(1)
    'myData(0) ブック名
    'myData(1) ブックのフルパス
    'ここでシートにファイル名を追加編集
  Next
 
  Set myFso = Nothing
  Set myFold = Nothing
  Set myPool = Nothing
  
End Sub

Private Sub getBooks(fold As Object, myPool As Collection)
Dim myFile As Object
Dim myFold As Object
  
  For Each myFile In fold.Files
    If StrConv(Right(myFile.Name, 4), vbLowerCase) = ".xls" And _
      myFile.Name <> ThisWorkbook.Name Then
    
      myPool.Add Array(myFile.Name, myFile.Path)
    End If
  Next
  
  For Each myFold In fold.subfolders
    Call getBooks(myFold, myPool)  '再帰によるサブフォルダ検索
  Next
  
End Sub


Private Function Get_Folder() As String
Dim ffff As Object
Dim WSH As Object

  Set WSH = CreateObject("Shell.Application")
  Set ffff = WSH.BrowseForFolder(&H0, "フォルダを選択してください", &H1 + &H10)
  If ffff Is Nothing Then
    Get_Folder = ""
  Else
    Get_Folder = ffff.Items.Item.Path
  End If
 
  Set ffff = Nothing
  Set WSH = Nothing
 
End Function

0 hits

【68545】指定フォルダ内のファイルの読み込み ぴょんきち 11/3/22(火) 16:51 質問
【68546】Re:指定フォルダ内のファイルの読み込み UO3 11/3/22(火) 17:53 回答
【68547】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/3/22(火) 20:23 お礼
【68548】Re:指定フォルダ内のファイルの読み込み UO3 11/3/23(水) 11:33 回答
【68549】Re:指定フォルダ内のファイルの読み込み UO3 11/3/23(水) 11:57 回答
【68550】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/3/23(水) 14:44 質問
【68551】Re:指定フォルダ内のファイルの読み込み UO3 11/3/23(水) 17:01 回答
【68552】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/3/23(水) 20:12 お礼
【68553】Re:指定フォルダ内のファイルの読み込み UO3 11/3/24(木) 10:00 回答
【68597】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/3/28(月) 19:50 お礼
【68609】Re:指定フォルダ内のファイルの読み込み UO3 11/3/29(火) 10:11 回答
【68682】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/4/6(水) 16:05 お礼
【68686】Re:指定フォルダ内のファイルの読み込み UO3 11/4/6(水) 18:00 回答
【68723】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/4/10(日) 17:17 お礼
【68688】Re:指定フォルダ内のファイルの読み込み kanabun 11/4/7(木) 0:26 発言
【68691】Re:指定フォルダ内のファイルの読み込み UO3 11/4/7(木) 6:33 発言
【68692】Re:指定フォルダ内のファイルの読み込み kanabun 11/4/7(木) 9:14 発言
【68724】Re:指定フォルダ内のファイルの読み込み ぴょんきち 11/4/10(日) 17:23 お礼

13632 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free