アプリ版:「スタンプのみでお礼する」機能のリリースについて

始めまして、ボスからの依頼ですが、わからなくて困っています。

ひとつのフォルダに複数のエクセルファイルを保存し、それぞれのファイル(ブック)に対して加工を施すマクロを実行したいと考えています。その際、特定のフォルダ内にあるファイル名称の一覧を取得するようなマクロがあれば、1回の実行ですべてのファイルを加工できるので、時間の短縮を図れると考えました。
そこで、そのようなことができるマクロ(マクロ単体ではなく、いくつかのマクロを組み合わせて取得する方法でも構いません)をご存知の方がいらっしゃいましたら教えていただけませんでしょうか。

よろしくお願いします。

A 回答 (6件)

昔、VBSでこんなのを作りました。


フォルダの中に、ファイルがあるかどうか確認するタスク用に作成したものですが、原理は同じです。

Text1にファイル名を入れるようにしてますので、
表示するなり、テキストに吐き出すなり、作成してみてください。

では。

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

Set objFolder = objFileSystem.GetFolder(FolderName)

Text1 = ""
FlgCount = 0

For Each EachFile In objFolder.Files
Text1 = EachFile.Name
If Text1 <> "" then
     '適当な処理
End If
Next
    • good
    • 0

補足です。



下記の、FolderNameには、その前で、フルパスで
フォルダまでのパスを代入しておいてください。

FolderName = "C:\なんとかかんとか"

Set objFolder = objFileSystem.GetFolder(FolderName)
    • good
    • 0
この回答へのお礼

素早い返信、どうもありがとうございました。
さっそくこれから試してみます。

お礼日時:2002/10/21 16:05

できました?



久しぶりに、VBSで遊んでます<私(^^)
ファイル一覧取得用

Dim objFileSystem
Dim objFolder
Dim FolderName
Dim EachFile
Dim strList

'知りたいフォルダをフルパスで入力。例として、C直下
FolderName = "C:\"

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(FolderName)

'Text1を空に

Text1 = ""

'フォルダ内のすべてのファイル名称をゲットして
'strList変数にまとめていく。

For Each EachFile In objFolder.Files
Text1 = EachFile.Name
strList = strList&"\" & Text1
Next

'strList変数にまとめたファイル名を、
'Split関数で分割。

strA = split(strList,"\")

'メッセージボックスでひとつずつ表示。
'ここで、ひとつずつファイル名が分割されるので、
'処理を行うなら、ここに記述すればよいでしょう。

For Each StrA In StrA
Msgbox strA
Next

End

では。
    • good
    • 0

#3書いてから気づきました。



For Each EachFile In objFolder.Files
Text1 = EachFile.Name

ここで処理を記述すればいいだけでしたね。
あはは。。。

Next
    • good
    • 0

Sheet1のコードウインドウに貼り付けます。



指定フォルダのエクセルブック(*.xls)のファイル名をSheet1のA列に、パス+ファイル名をB列に表示します。
『myFolder』に、ドライブ名とフォルダを指定して実行します。Dirを使っています。


Sub getFileNames()
  Dim myFolder As String 'ドライブ、フォルダ
  Dim filename As String 'ファイル名
  Dim rw As Long '行カウンタ

  myFolder = "C:\My Documents\・・・\・・・" '***ドライブ名とフォルダを指定します

  filename = Dir(myFolder & "\" & "*.xls")
  While filename <> ""
    rw = rw + 1
    Cells(rw, 1) = filename
    Cells(rw, 2) = myFolder & "\" & filename

    filename = Dir
  Wend
End Sub
    • good
    • 0

似たような質問に答えたことがあります。


http://www.okweb.ne.jp/kotaeru_reply.php3?q=351271
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!