Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13389 / 76738 ←次へ | 前へ→

【68854】Re:txtファイルを連続処理したい
発言  kanabun  - 11/4/23(土) 11:30 -

引用なし
パスワード
   ▼すいか さん:

>> →ところが、UTF-8などの文字セットのファイルでもないらしい。
>テキストファイルの文字コードが何か?
>というのは調べられるものでしょうか?
>(お教え頂いたページには、そこまで見つけられませんでした。)

ぼくも検索してみたんですが、あまり使い勝手の良いものはみつかりません
でした。
そこで、すべてのテキストファイルを、文字コードが「シフトJIS」だと
仮定してともかくワークシートにインポートしてみたら、どうか?
と思い、以下のプロシージャを作ってみました。

新規Bookを作成し、その標準モジュールに 以下のコードをコピペし、
Sheet1 の[A1]セルに 読み込むテキストファイルのあるフォルダ名を
書き入れて、実行してみてください。

'----------------------------------------------- 標準モジュール
Option Explicit

Sub ImportAllText()
  Dim myPath As String
  Dim f As String
  Dim Filename As String
  Dim io As Integer
  Dim buf() As Byte
  Dim i As Long
  Dim nbyte As Long, v
  
  With ThisWorkbook.Worksheets(1)
    .Columns.ColumnWidth = 28
    myPath = .Cells(1).Value  '読み込むフォルダ
    If Len(myPath) < 2 Then Exit Sub
    If Right$(myPath, 1) <> "\" Then myPath = myPath & "\"
    .UsedRange.Clear
    .Cells(1).Value = myPath
    
    f = Dir$(myPath & "*.txt")
    io = FreeFile()
    Do While Len(f) > 0
      i = i + 1
      .Cells(2, i).Value = f
      Filename = myPath & f
      Open Filename For Binary As io
      nbyte = LOF(io)
      If nbyte > 2 Then
        ReDim buf(1 To nbyte)
        Get io, 1, buf
        v = Split(StrConv(buf, vbUnicode), vbCrLf)
        If UBound(v) = 0 Then
          v = Split(StrConv(buf, vbUnicode), vbLf)
        End If
        If UBound(v) > 0 Then
          .Cells(3, i).Resize(UBound(v)).Value _
           = Application.Transpose(v)
        End If
      End If
      Close io
      
      f = Dir$()
    Loop
  End With
  MsgBox i & "個のファイルを読み込みました", vbInformation
End Sub

エラー処理はしていないので、途中でエラーになったら、
エラーメッセージの内容と エラーになったコード行とを確認してください。
また、エラーになったテキストファイルをメモ帳で開いて
 ・ 開けるか?
 ・ 文字化けしていないか?
を確認してください。

0 hits

【68810】txtファイルを連続処理したい すいか 11/4/20(水) 11:06 質問
【68811】Re:txtファイルを連続処理したい UO3 11/4/20(水) 11:48 発言
【68814】Re:txtファイルを連続処理したい すいか 11/4/20(水) 13:24 質問
【68816】Re:txtファイルを連続処理したい UO3 11/4/20(水) 15:43 発言
【68818】Re:txtファイルを連続処理したい すいか 11/4/20(水) 16:37 質問
【68820】Re:txtファイルを連続処理したい UO3 11/4/20(水) 17:13 回答
【68822】Re:txtファイルを連続処理したい すいか 11/4/20(水) 17:36 質問
【68826】Re:txtファイルを連続処理したい UO3 11/4/21(木) 6:04 発言
【68828】Re:txtファイルを連続処理したい すいか 11/4/21(木) 10:00 質問
【68829】Re:txtファイルを連続処理したい UO3 11/4/21(木) 11:11 発言
【68830】Re:txtファイルを連続処理したい すいか 11/4/21(木) 13:05 発言
【68831】Re:txtファイルを連続処理したい neptune 11/4/21(木) 14:37 発言
【68832】Re:txtファイルを連続処理したい neptune 11/4/21(木) 14:40 発言
【68837】Re:txtファイルを連続処理したい すいか 11/4/21(木) 23:43 発言
【68838】Re:txtファイルを連続処理したい すいか 11/4/22(金) 0:39 質問
【68839】Re:txtファイルを連続処理したい UO3 11/4/22(金) 5:58 発言
【68840】Re:txtファイルを連続処理したい すいか 11/4/22(金) 14:08 質問
【68841】Re:txtファイルを連続処理したい kanabun 11/4/22(金) 14:43 質問
【68843】Re:txtファイルを連続処理したい kanabun 11/4/22(金) 15:01 発言
【68845】Re:txtファイルを連続処理したい すいか 11/4/22(金) 15:31 質問
【68847】Re:txtファイルを連続処理したい neptune 11/4/22(金) 15:40 発言
【68851】Re:txtファイルを連続処理したい すいか 11/4/23(土) 6:42 質問
【68850】Re:txtファイルを連続処理したい kanabun 11/4/22(金) 18:14 発言
【68852】Re:txtファイルを連続処理したい すいか 11/4/23(土) 6:53 質問
【68854】Re:txtファイルを連続処理したい kanabun 11/4/23(土) 11:30 発言
【68872】Re:txtファイルを連続処理したい すいか 11/4/23(土) 20:33 発言
【68896】Re:txtファイルを連続処理したい neptune 11/4/24(日) 22:21 発言
【68842】Re:txtファイルを連続処理したい UO3 11/4/22(金) 14:52 発言
【68846】Re:txtファイルを連続処理したい すいか 11/4/22(金) 15:39 質問
【68849】Re:txtファイルを連続処理したい UO3 11/4/22(金) 17:34 発言
【68853】Re:txtファイルを連続処理したい すいか 11/4/23(土) 7:16 質問
【68902】Re:txtファイルを連続処理したい SK63 11/4/26(火) 8:25 発言
【68817】Re:txtファイルを連続処理したい neptune 11/4/20(水) 16:35 発言

13389 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free