[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『指定したフォルダのファイルリストを作りたい』(HIDE)
A列に作ったファイルのリストから順番に画像を貼り付けていくマクロを作りました。 A1にパス(カレントディレクトリとして)、A2以降にファイル名を入力しておいて、 上から順番に読み込んでいくようになっているのですが、ファイルリストの作成は 他のソフトを使って作り、それを貼り付けています。 このファイルリストの作成を、エクセルで行いたいのです。 フォルダ内には画像のファイルしかないので、種類を判別する必要はありません。 数は多くても1000を超えるようなことはありません。
自分のできる範囲で作ってみたものがこれです。
Sub リスト作成()
Dim p As String Dim f As String Dim i As Integer
Range("A1").Select p = Selection.Value f = Dir(p)
For i = 0 To 1000 Cells(i + 2, 1).Select Selection.Value = f If f = "" Then Exit For f = Dir() Next i
End Sub
A1にあらかじめパスを入力しておいて、そのフォルダ内のファイルを 一覧していますが、ファイル数がわからないので1000回ループで ファイルが無くなったら終了というやり方になってしまいました。 FindFileのダイアログボックスのようにパスを指定して、そのフォルダ内の ファイル数を取得するにはどうすればよいでしょうか。 よろしくお願いします。
こんなかんじです。
Sub aa() Dim myObj As Object Dim myFileName As String Dim myDir As String
Set myObj = CreateObject("Shell.Application"). _ BrowseForFolder(0, "フォルダを選択してください", 0)
If myObj Is Nothing Then Exit Sub
myDir = myObj.Items.Item.Path & "\" myFileName = Dir(myDir & "*", vbHidden + vbSystem)
Do Cells(Rows.Count, 2).End(xlUp).Offset(1).Value = myFileName Cells(Rows.Count, 1).End(xlUp).Offset(1).Value = myDir myFileName = Dir() Loop Until myFileName = vbNullString
Range("A1").Value = "フォルダ名" Range("B1").Value = "ファイル名" Columns("A:B").AutoFit End Sub
(INA)
できました! 作成していただいたマクロ、まだ初心者なので、わからない部分も多いですが、 参考にして勉強したいと思います。 ありがとうございました! (HIDE)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.