CSVの読み込み

Excelを外部システムと連携させるためには、CSV形式のデータの読み込み、書き出しは必須です。
(1)CSVを読み込み OpenText版( 簡略で早いが、 Sub型のメソッドなので、戻り値のファイルオブジェクトは取得できない)
Workbooks.OpenText Filename:=ファイルパス, DataType:=xlDelimited, Comma:=True
ActiveWorkbook.Sheets(1).Cells.Copy ThisWorkbook.Sheets("データ").Range("A1")
ActiveWorkbook.Close False
(2)Excelの標準は日付と解釈できるものは日付にしてしまうので、それを避ける場合
Set FSO = CreateObject("Scripting.FileSystemObject")
ファイル名 = Replace(Replace(FSO.GetFileName(ファイルパス), ".csv", ""), ".CSV", "")
Set FSO = Nothing
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & ファイルパス, Destination:=Range("$A$1"))
.Name = ファイル名
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
'そしてコピー先の設定
wb.Sheets("入力原本").Cells.NumberFormatLocal = "@" '文字列固定
ディスカッション
コメント一覧
まだ、コメントがありません