マクロを使った文字化けしないCSV取込について
マクロを使って、csvをインポートしたいです。
しかし、csvを取り込むと、対象列が日付になってしまいます。
元データcsvには、とある一列の行毎に、0-3 10-1 22-5 0-1-2、11-14-0 などの数字と記号が並んでいます。
下記に意図したコードを入れたのですが、csvが変換されて、2022/1/3だとか、2011/1/14などとなります。
これを元のデータの通りに取り込むには、どのようなコードを差し込めば良いのでしょうか?
※設定(adodb.stream)は行わない想定です。
ご教示願います。
"Sub Csv_Import()
Dim A_Sheet 'Excelファイルのシート名を入れ込む変数'
Dim Csv_Import_File 'Excelファイルに取り込むCSVファイルの名前を入れ込む変数'
A_Sheet = ActiveSheet.Name '現在アクティブなシート名を変数 A_Sheet に入れ込む'
Csv_Import_File = Application.GetOpenFilename(""CSVファイル,*.csv"") 'CSVファイルを選択する'
If Csv_Import_File = ""False"" Then Exit Sub 'キャンセルなら終了' ThisWorkbook.Sheets(""Import"").Range(""A1:OOO2000"").ClearContents '「CSVデータ取込み」シートのセル「A1~OOO2000」をクリアする'
With Workbooks.Open(Csv_Import_File)
.Sheets(1).Cells.Copy ThisWorkbook.Sheets(""Import"").Range(""A1"") '全てのデータをこのブックの「CSVデータ取込み」シートにコピー'
.Close 'CSVファイルを閉じる'
End With
Worksheets(A_Sheet).Activate 'A_Sheet という名前のシートをアクティブにする'
End Sub
お礼
ありがとうございました。 そのままでは少し不都合があったのですが、少し修正するとうまく 抽出することが出来ました。 この様な方法で読み込みのデータ型を指定する事が出来るんですね。 勉強になりました。 参考までに、修正したSchema.iniを載せておきます。 [Sample.csv] ColNameHeader=True ← Falseだと見出し行も抽出されてしまいました。 Format=CSVDelimited FixedFormat=RaggedEdge Col1=No Char Width 255 ← 〔〕があると見出しに( )がついてしまいました。 Col2=個数 Float Width 16