Excel VBA質問箱 IV

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

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


8143 / 13644 ツリー ←次へ | 前へ→

【34886】ラインフィード区切りのテキスト あいんすと 06/2/15(水) 21:57 質問[未読]
【34907】Re:ラインフィード区切りのテキスト Kein 06/2/16(木) 0:38 回答[未読]
【34961】Re:ラインフィード区切りのテキスト あいんすと 06/2/16(木) 23:05 お礼[未読]

【34886】ラインフィード区切りのテキスト
質問  あいんすと  - 06/2/15(水) 21:57 -

引用なし
パスワード
   Input関数でCSVファイルを読み取ろうとしたのですが、
何故か読み取れませんでした。調べてみると、そのデータは
ラインフィードChr(10)で区切られているデータは読み取れない様です。

インプットモードで有効なのは
キャリッジリターン(CHR(13))
改行コード(Chr(13))+Chr(10))

私の作ったツールは以下の通りです。

Sub Count_Row
Dim InputData() As String
Dim FileNum As Integer   'ファイルナンバー
Dim i As Long
Dim MaxRow As Long
Dim fname As String
Dim Cnt As Integer

FilePath = Dir1.Path & "\" & lstFileList.List(Cnt)

FileNum = FreeFile    '空きファイル番号取得

i = 1

Open FilePath For Input As #FileNum
  Do Until EOF(FileNum)
    Line Input #FileNum, LineData
    ReDim Preserve InputData(i) As String
    InputData(i) = LineData   
    i = i + 1
  Loop
  
Close #FileNum

End Sub

どうやったら、ラインフィードの行データを読み取ることが出来るでしょうか?
キャリッジリターン、改行コードの行データも同時に読み取れればよいのですが。

【34907】Re:ラインフィード区切りのテキスト
回答  Kein  - 06/2/16(木) 0:38 -

引用なし
パスワード
   たしかFSOのTextStreamオブジェクトなら、ラインフィードも改行文字として
認識してくれたはずです。(記憶違いならごめんなさい)
コードは概ね、以下のようになります。(ワークシートに取り込むとして)

Sub Read_MyText()
  Dim FSO As Object
  Dim Ary As Variant
  Dim i As Long
  Const MyF As String = _
  "C:\Documents and Settings\User\My Documents\Test.csv"
 
  Set FSO = CreateObject("Scripting.FileSystemObject")
  With FSO.OpenTextFile(MyF, 1, False)
   Do Until .AtEndOfStream
     i = i + 1
     Ary = Split(.ReadLine, ",")
     Cells(i, 1).Resize(, UBound(Ary) + 1).Value = Ary
   Loop
   .Close
  End With
  Set FSO = Nothing
End Sub

【34961】Re:ラインフィード区切りのテキスト
お礼  あいんすと  - 06/2/16(木) 23:05 -

引用なし
パスワード
   ▼Kein さん:

ありがとうございます。

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