|
Hirofumiさん、ありがとうございます。
サンプルプログラムを貼り付けたら、やりたいことが出来ました!
今から分析しながら必要な部分のみで本作成をしようと思います。
追記 UNIXはLfでしたね(--;)失礼しました…。
しかも題名のCRLEって。。。誤字だらけでお恥ずかしいです。
ありがとうございました。
▼Hirofumi さん:
>>上記のように、ファイルを開く→行があるかぎり1行づつ読み出す
>
>善く見ていなかった?
>先に提示したコードは、CSVの読み込み用のコードで
>カンマでフィールド分割していますが、
>中にカンマが無ければ1行として読むので、其のままでも大丈夫かも?
>1行其のまま読めば善いだけならもっと簡単に成ります
>
>コードは、以下の様に成ります
>尚、「Function GetReadFile」は、其のまま使います
>また、「Function SplitCsv」は、使いませんので削除して下さい
>
>Option Explicit
>
>Public Sub ReadCsvFSO2()
>
> Dim i As Long
> Dim vntFileName As Variant
>
> '読み込むファイルを指定
> If Not GetReadFile(vntFileName, ThisWorkbook.Path) Then
> Exit Sub
> End If
>
> '読み込みファイルのデータをシートに出力
> '第1引数 読み込みファイル名
> '第2引数 書き込むシート
> '第3引数 書き込み始める行位置
> '第4引数 書き込み始める列位置
> CSVReadFSO vntFileName, ActiveSheet, 1, 1
>
>End Sub
>
>Private Sub CSVReadFSO(ByVal strFileName As String, _
> ByVal wksWrite As Worksheet, _
> Optional ByRef lngRow As Long = 1, _
> Optional ByRef lngCol As Long = 1)
>
>' CSVデータの読み込み
>
> Dim strBuff As String
> Dim objFso As Object
> Dim objFileStr As Object
> Const ForReading = 1
>
> 'FSOのオブジェクトを取得
> Set objFso = CreateObject("Scripting.FileSystemObject")
> '指定ファイルを読み込みモードでOpen
> Set objFileStr = objFso.OpenTextFile(strFileName, ForReading)
>
> With objFileStr
> 'ファイルの終り迄繰り返し
> Do Until .AtEndOfStream
> 'ファイルから1行読み込み
> strBuff = .ReadLine
> '指定シートの指定行列位置について
> 'データの書き込み
> wksWrite.Cells(lngRow, lngCol).Value = strBuff
> '書き込み行位置を更新
> lngRow = lngRow + 1
> Loop
> 'ファイルをClose
> .Close
> End With
>
> Set objFileStr = Nothing
> Set objFso = Nothing
>
>End Sub
|
|