|
>新規ブックにて、
>
>別の標準モジュ−ル(Module3)に
>
>'=================================================================
>Sub main()
> Dim ret As Long
> Dim dat(1 To 6) As String
> Dim rs As Object
> Dim ans As Variant
> dat(1) = "[csvtest.csv]"
> dat(2) = "ColNameHeader = False"
> dat(3) = "CharacterSet = oem"
> dat(4) = "Format = CSVDelimited"
> dat(5) = "Col1=f1 char width 255"
> dat(6) = "Col2=f2 char width 255"
> Call mk_schema_ini(ThisWorkbook.path, dat())
> ret = open_ado_text(ThisWorkbook.path)
> If ret = 0 Then
> ret = exec_sql("select * from csvtest.csv;", rs)
> If ret = 0 Then
> With ActiveSheet
' .Columns(1).NumberFormatLocal = "@"
↑これ入れなくてもOKでした。
> .Range("a1").CopyFromRecordset rs
> End With
> rs.Close
> Else
> MsgBox Error(ret)
> End If
> close_ado
> End If
> Call del_schema_ini(ThisWorkbook.path)
>End Sub
>
>
>これでmainを実行してみてください。
>今度は、全部の数字が表示されるはずです。
>
>
>要は、schema.iniというファイルに各フィールドの型を規定してやる方法です。
>
>表示された数字を計算に使いたいなら、Cdec関数で、10進型に変換して計算してください。
|
|