Windows 8.1(64bit) で MS-Office Professional Plus 2010 を使用しています。
CSVファイルのデータをEXCELに読み込む処理を作成しているのですが、
一部の項目が取り込めていないケースがあり、その原因及び回避方法を調査しているのですが、
何かご存知の方いらっしゃらないでしょうか。
CSVファイルには、1レコード内に複数のメモ項目が存在しており、1レコードが複数行にわたるケースが存在します。
例.
rec1:"1","fld2 あああ\n
いいい\n
ううう","fld3","fld4"
rec2:"2","fld2 かかか\n
ききき\n
くくく","fld3","fld4"
エラーとなるサンプルデータを下記にアップロードしています
サンプルデータ (http://firestorage.jp/)
サンプルデータを読み込むと L56~L63,L139~L141,L150~L151 のセルデータが欠損しています。
また、L列以外のデータに欠損は確認できませんでした。
以下、CSV取込のコードです
Public Sub readCsv()
Dim dstSheet As Worksheet
Dim objCn As ADODB.Connection
Dim objRS As ADODB.Recordset
On Error GoTo eh
Set dstSheet = ThisWorkbook.Worksheets("Sheet1")
Set objCn = New ADODB.Connection
With objCn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Text;HDR=NO"
.Open "c:\temp\"
End With
Set objRS = New ADODB.Recordset
Set objRS = objCn.Execute("SELECT * FROM data.csv")
With dstSheet
.UsedRange.ClearContents
.Range("A1").CopyFromRecordset objRS
End With
quit:
If Not (objCn Is Nothing) Then objCn.Close
Set objRS = Nothing
Set objCn = Nothing
Exit Sub
eh:
MsgBox Err.Description, vbCritical
If Not (objCn Is Nothing) Then objCn.Close
Set objRS = Nothing
Set objCn = Nothing
End Sub
以上、よろしくお願いします。