0
Excelブックからtxtファイルに一部のテーブルをエクスポートしようとしています。私はそれを開いている間、ワークブックのためにこれを行うことができました。私のコードは、開いているブックのシートをループし、txtファイル(各シートごとに異なるファイル)にコンテンツをエクスポートします。 .xlsxファイルのディレクトリをループして手作業なしで同じことをする必要があります。誰も助けることができますか?エクセルファイル、ワークブック、ブック、シート(VBAマクロ)のディレクトリやループの内容をループする方法は?
以下が私のコードです:
Sub Exportation()
Dim directory As String
Dim WS_Count As Integer, myFile As String, x As Integer
Dim rng As Range, cellValue As Variant, i As Integer, j As Integer
directory = "C:\Users\Mike\Desktop\Testing\" ' The starting directory
Dim fso, newFile, folder, files
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(directory)
Set files = folder.files
For Each file In files
WS_Count = ActiveWorkbook.Worksheets.Count
For x = 1 To WS_Count
myFile = "C:\Users\mohamednuri.beitelma\Desktop\" & Sheets(x).Name & ".txt"
'Set rng = Selection
Set rng = Sheets(x).Range("A1").CurrentRegion
Open myFile For Output As #1
cnt = Sheets(x).Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 1 To rng.Rows.Count
For j = 1 To rng.Columns.Count
cellValue = rng.Cells(i, j).Value
If j = rng.Columns.Count Then
Print #1, cellValue
Else
Print #1, cellValue & "|",
End If
Next j
Next i
Print #1, cnt & " -- " & DateTime.Now
Close #1
Next x
Next
End Sub
あなたが持っている問題は何ですか? –
私は、ファイルのディレクトリをループする必要があります(WS_Countから始まる)ファイルループ内のコードを実行します。理想的には、上記は各ファイルをループし、各ファイル内の各シートをループし、各シートの内容をtxtファイルにエクスポートします。しかし、私は現在、上記のマクロが存在する(つまり、ディレクトリをループしない)ワークブックでexportコマンドを実行するだけです。私は、ループのロジックか、おそらく私の構文が間違っていると思います。各ワークシートを反復処理することで始まるループについては、正確に動作するはずです。何か案は? –
デバッガでステップバイステップを試みましたか? – litelite