Excel VBA質問箱 IV

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

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


13553 / 76738 ←次へ | 前へ→

【68688】Re:指定フォルダ内のファイルの読み込み
発言  kanabun  - 11/4/7(木) 0:26 -

引用なし
パスワード
   ▼ぴょんきち さん:
▼UO3 さん:
ちょっとおじゃまします。
>
>それに、今回のサブフォルダを見に行ってというところで、躓いております。

別法ですが、サブフォルダを含む指定拡張子のファイルの取得は
Dirコマンドを使うと再帰せずに一覧を得ることができます。

各Bookの参照するシート名は 「Sheet1」のように固定されていることが
リンク式埋め込み方式のポイントですね

Sub Try1()
' ------- 検索フォルダの指定
  Dim objFolder As Object
  Const BIF_RETURNNONLYFSDIRS = &H1 'ディレクトリのみ選択可
  Const BIF_EDITBOX = &H10 'アイテム名入力用のEdit_boxを表示
  Dim hWnd As Long
  Dim sPath As String
  hWnd = Application.hWnd
  Set objFolder = _
    CreateObject("Shell.Application").BrowseForFolder( _
         hWnd, _
         "フォルダを選択して下さい", _
         BIF_RETURNNONLYFSDIRS Or BIF_EDITBOX)
  If (objFolder Is Nothing) Then Exit Sub
  
  sPath = objFolder.Self.Path & "\"
 
' ------- サブディレクトリを含む *.xlsファイルの検索
  Dim fList
  Dim i As Long
  Dim n As Long
  Dim tmpPath As String
  Dim sCmd As String
  Dim ko As Long
  
  tmpPath = Environ$("Temp") & "\Dir.tmp"
  sCmd = "DIR """ & sPath & "*.xls" & """ /b /s > """ & tmpPath & """"
  With CreateObject("WScript.Shell")
    ko = .Run("CMD /C " & sCmd, 7, True) 'Dirコマンド実行
  End With
  Dim io As Integer
  Dim buf() As Byte
  io = FreeFile()
  Open tmpPath For Binary As io
   ReDim buf(1 To LOF(io))
   Get #io, , buf
  Close io
  Kill tmpPath
  fList = Split(StrConv(buf, vbUnicode), vbCrLf) 'ファイルリストを得る
  
' ------- リンク式表の作成
  n = UBound(fList)
  Dim RefTable()
  ReDim RefTable(n, 1 To 3)
  RefTable(0, 1) = "ファイルパス"
  RefTable(0, 2) = "A1値"
  RefTable(0, 3) = "C1値"
  For i = 0 To n - 1
    RefTable(i + 1, 1) = fList(i)
    ko = InStrRev(fList(i), "\")
    sCmd = "='" & Left$(fList(i), ko) & _
        "[" & Mid$(fList(i), ko + 1) & "]Sheet1'!"
    RefTable(i + 1, 2) = sCmd & "A1"
    RefTable(i + 1, 3) = sCmd & "C1"
  Next
' ------- リンク式表を新規シートに貼り付ける
  Workbooks.Add(xlWBATWorksheet).Worksheets(1) _
    .Cells(1).Resize(n, 3).Value = RefTable
End Sub

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 お礼

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