fork download
  1. Sub Txt統合()
  2.  
  3. ' マージするテキストファイルを集めたフォルダーを指定
  4. Dim FileFolder As String
  5. FileFolder = ThisWorkbook.Path & "\txt"
  6.  
  7.  
  8. ' そのフォルダー内のテキストファイルの名前を取得
  9. Dim FileName As String
  10. FileName = Dir(FileFolder & "\*.txt ")
  11.  
  12. Dim FilePath As String
  13. FilePath = FileFolder & "\" & FileName
  14.  
  15. Dim Buffer As String '一時的に文字列を格納する
  16.  
  17. Dim A As Variant '文字列格納用配列
  18. ReDim B(99, 99) '文字列格納用配列
  19. Dim i As Long
  20. i = 0
  21. Dim j As Long
  22. j = 0
  23. 'ADODB.Stream定義
  24. Dim adoSt As Object
  25. Set adoSt = CreateObject("ADODB.Stream")
  26. adoSt.Type = 2 'adTypeText:2
  27. adoSt.Charset = "UTF-8"
  28.  
  29.  
  30. '使用可能なファイル番号を取得
  31. Dim FileNumber As Long
  32. FileNumber = FreeFile
  33.  
  34. 'フォルダ内のすべてのテキストファイルを処理する
  35. Do Until FileName = ""
  36. 'Open FilePath For Input As #FileNumber
  37. FilePath = FileFolder & "\" & FileName
  38. adoSt.Open
  39. adoSt.LoadFromFile (FilePath)
  40. Debug.Print FileName
  41. Do While Not (adoSt.EOS)
  42. Buffer = adoSt.ReadText(-2) 'adReadLine:-2
  43.  
  44. Debug.Print Buffer
  45.  
  46. A = Split(Buffer, vbTab)
  47. For j = 0 To UBound(A)
  48. B(i, j) = A(j)
  49. Next j
  50. i = i + 1
  51.  
  52. Loop
  53. adoSt.Close
  54. FileName = Dir()
  55. 'i = i + 1
  56. Loop
  57.  
  58. Range("A1").Resize(100, 100) = B
  59. MsgBox "処理が終了しました。", vbInformation
  60.  
  61. End Sub
  62.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty