Excel VBA質問箱 IV

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

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


12808 / 76734 ←次へ | 前へ→

【69440】Re:ファイル名書き出し
発言  UO3  - 11/7/11(月) 17:43 -

引用なし
パスワード
   ▼にしもり さん:

DIRを記述する場所については申し上げたとおりですが、コードをよくよく読んでみましたら
エラーの直接の原因がわかりましたよ。

>Worksheets("ファイル一覧").Cells("A", 貼付行)

Cellsで記述するなら Cells(貼付行,"A")
Rangeで記述するなら Range("A" & 貼付行)

また、いずれの場合のプロパティは明示することをお奨めします。

Cells(貼付行,"A").Value あるいは Range("A" & 貼付行).Value

ついでに、FSOを使ったコード例を。
A列にフォルダパス、B列にファイル名、C列に作成日、時刻を記載します。

Sub FSOSample()
  Dim fso As Object
  Dim sh As Worksheet
  Dim myLine As Long

  Set fso = CreateObject("Scripting.FileSystemObject")
  Set sh = Worksheets("ファイル一覧")
  sh.Cells.ClearContents
  myLine = 0
  Call getFiles(fso.getfolder("C:\AAA"), sh, myLine)
  
  Set fso = Nothing
  Set sh = Nothing
  
End Sub

Private Sub getFiles(myfolder As Object, sh As Worksheet, myLine As Long)
  Dim myFile As Object
  Dim folder As Object
  Dim myWord As String
  
  myWord = "*Trainning*"

  For Each myFile In myfolder.Files
    If myFile.Name Like myWord Then
      myLine = myLine + 1
      sh.Cells(myLine, "A").Value = myFile.parentfolder.Path
      sh.Cells(myLine, "B").Value = myFile.Name
      sh.Cells(myLine, "C").Value = myFile.datecreated
    End If
  Next
  
  For Each folder In myfolder.subfolders
    Call getFiles(folder, sh, myLine)
  Next
  
End Sub
11 hits

【69436】ファイル名書き出し にしもり 11/7/11(月) 12:39 質問
【69437】Re:ファイル名書き出し にしもり 11/7/11(月) 12:59 質問
【69439】Re:ファイル名書き出し ichinose@食事中 11/7/11(月) 13:25 発言
【69438】Re:ファイル名書き出し UO3 11/7/11(月) 13:09 発言
【69440】Re:ファイル名書き出し UO3 11/7/11(月) 17:43 発言
【69445】Re:ファイル名書き出し にしもり 11/7/12(火) 11:28 お礼

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