Excel VBA質問箱 IV

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

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


5891 / 13645 ツリー ←次へ | 前へ→

【48245】フォルダファイルの指定について まちゃ 07/4/9(月) 22:11 質問[未読]
【48274】Re:フォルダファイルの指定について りん 07/4/11(水) 8:42 発言[未読]
【48359】Re:フォルダファイルの指定について まちゃ 07/4/13(金) 23:23 発言[未読]

【48245】フォルダファイルの指定について
質問  まちゃ  - 07/4/9(月) 22:11 -

引用なし
パスワード
   こんばんは。
質問させてください。

file-------フォルダ1---最新---book1.xls
      フォルダ2---最新---book2.xls
      フォルダ3---最新---book3.xls
       
のような階層で入っているのですが
ファイル指定の仕方がわかりません。

fileの下に名前の違うフォルダがいくつか入っています。
各フォルダの下のフォルダは名前が一緒で”最新”とあります。
その下のxlsファイルをすべて拾っていきたいのです。
(xlsファイルの名前も統一されていません)

theDir="\\デスクトップ\file"
theName=Dir(theDir & "\.xls")
と今は書いているのですが
これだとfileの直下にxlsファイルがなければなりません。

教えてください。
よろしくお願いいたします。

【48274】Re:フォルダファイルの指定について
発言  りん E-MAIL  - 07/4/11(水) 8:42 -

引用なし
パスワード
   まちゃ さん、おはようございます。

>file-------フォルダ1---最新---book1.xls
>      フォルダ2---最新---book2.xls
>      フォルダ3---最新---book3.xls
>       
>のような階層で入っているのですが
>ファイル指定の仕方がわかりません。

>fileの下に名前の違うフォルダがいくつか入っています。
>各フォルダの下のフォルダは名前が一緒で”最新”とあります。
>その下のxlsファイルをすべて拾っていきたいのです。
>(xlsファイルの名前も統一されていません)
目安箱の、「【74】FilePathを列挙するサンプル 」より。
Sub CallFilePathList1()
  Dim objFSO     As Object
  Dim strTargetPath  As String      '対象フォルダパス
 
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  strTargetPath = "C:\File" '親
  Call EnumFilePathList1(objFSO.GetFolder(strTargetPath))
End Sub
'本体
Sub EnumFilePathList1(objFolder As Object)
  Dim objTargetFile As Object
  Dim objSubFolder  As Object
 
  'ファイル名を列挙
  For Each objTargetFile In objFolder.Files
    'エクセルファイルならばイミディエイトウィンドウに転記
    With objTargetFile
      If UCase(Right(.Path, 3)) = "XLS" Then Debug.Print .Path
    End With
  Next objTargetFile
 
  'サブフォルダを検索
  For Each objSubFolder In objFolder.SubFolders
    Call EnumFilePathList1(objSubFolder)
  Next objSubFolder
End Sub
これでエクセルファイル名を取得して、フォルダ名が条件を満たすものを取得するといいのではないでしょうか?

【48359】Re:フォルダファイルの指定について
発言  まちゃ  - 07/4/13(金) 23:23 -

引用なし
パスワード
   りんさん、お返事ありがとうございます。

自分の環境に合わせて動かそうと思っているのですが
現在、まだうまくいっておりません。

なぜsub EnumFilePathList1の中に
callで同じEnumFilePathList1が呼べるのかも
わかりません。
まだ調べが足らないようです。。
もう少し考えてみます。

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