はじめまして。
あまり上手く説明できないのですが、
1フォルダの中にある幾つかのテキストを開いてテキストの内容を複写するという事をやりたいのですが、複数のテキストを開くことができません。
どなたか、ご指導よろしくお願いします。
できるハズです。
どのようにできないのですか?
匿名さん、お返事ありがとうございます。
僕が作ったものでは、一つならできるのですが二つ以上だとエラーステーメントの方に処理が移ってしまいます。作ったものは、下記のとおりです。
どのように変えれば良いのでしょうか?
Dim sabunFilesystem As Object
Dim objFolder As Object
Dim objFiles As Object
Dim tblFile As String
Dim tblFiles As String
Set sabunFilesystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = sabunFilesystem.getfolder(パス名)
Set tblFiles = objFolder.Files
For Each objFile In tblFiles
tblFile = objFile.Name
If StrConv(objFile.Name, vbUpperCase) Like "*.TBL" Then
Set objFiles = sabunFilesystem.OpenTextFile(tblFile)
Do Until objFiles.AtEndOfstream
gyou(retu) = objFiles.ReadLine
retu = retu + 1
Loop
objFiles.Close
すいません、注釈を忘れました
Dim sabunFilesystem As Object
Dim objFolder As Object
Dim objFiles As Object
Dim tblFile As String
Dim tblFiles As Object '
Dim mypath as String 'ファイルのパス名
'ファイルシステムオブジェクトへの参照
Set sabunFilesystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = sabunFilesystem.getfolder(mypath)
Set tblFiles = objFolder.Files
For Each objFile In tblFiles
'ファイル名の取得
tblFile = objFile.Name
'識別子がtblなら下記へ
If StrConv(objFile.Name, vbUpperCase) Like "*.TBL" Then
'ファイルを開く
Set objFiles = sabunFilesystem.OpenTextFile(tblFile)
'一行ずつ読み込む
Do Until objFiles.AtEndOfstream
gyou(retu) = objFiles.ReadLine
retu = retu + 1
Loop
'ファイルを閉じる
objFiles.Close
ファイルを開く
Set objFiles = sabunFilesystem.OpenTextFile(tblFile)
tblFileの中には、ファイル名しか入ってないので、
Set objFiles = sabunFilesystem.OpenTextFile(mypath & "\" & tblFile)
にすればOKだと思います。
匿名さん、okuさんありがとうございます。
okuさんの書いてあるとおりにやったら、開くことができました!
ファイル名だけでなく、パス名もしていないと駄目だったんですね
大変参考になりました、ありがとうございます
ツイート | ![]() |