私は、次の形式である.CSVありますVBA - 多次元配列の分割CSVファイル
[TestHeader] FIELDS、 "LANGUAGE"、 "LC_NUMERIC"、 "CELLNAME"、 "テスト・タイプ"、「REPORTERを(80)」、「テキスト(80)」、「テキスト(64)」、「テキスト(80)」、「テキスト(80)」、「テキスト(80)」、「テキスト「テキスト80」、「テキスト80」、「テキスト12」、「テキスト20」、「テキスト12」、「テキスト20」のように、このデータをシートのように模倣する多次元配列に入れます。セルが空の場合、アレイ内で空になります。
私は以下を使用しようとしていますが、必要なものに適していない1次元配列にしかデータを入れません。
Dim Delimiter As String
Dim TextFile As Integer
Dim FilePath As String
Dim FileContent As String
Dim LineArray() As String
Dim DataArray() As String
'Inputs
Delimiter = ","
FilePath = emiFilePath
'Open the text file in a Read State
TextFile = FreeFile
Open FilePath For Input As TextFile
'Store file content inside a variable
FileContent = Input(LOF(TextFile), TextFile)
'Close Text File
Close TextFile
'Separate Out lines of data
LineArray() = Split(FileContent, Delimiter, -1, vbTextCompare)
'Read Data into an Array Variable
'Re-Adjust Array boundaries
ReDim Preserve DataArray(UBound(LineArray))
'
'Load line of data into Array variable
For y = LBound(LineArray) To UBound(LineArray)
DataArray(y) = Replace(LineArray(y), Chr(34), vbNullString)
Next y
の助け配列を使用するために、任意の特定の理由で
–ADOとは何ですか?私はそれらに非常に精通しているので、私は配列を使用します。 – peetman
@PankajJajuは、CSVファイルを読み取る方法を指しています。このサイトには、彼が何を指しているのかを示す十数個の記事があります。それらを探してください:http://stackoverflow.com/search?q=excel+vba+ado+csvしかし、私がサポートしたいと思うあなたのソリューションに固執したいなら、私はファイル全体を読まないでしょう文字列に変換するのではなく、ここに示すように行単位で入力する(受け入れられた解決策):http://stackoverflow.com/questions/11185191/opening-csv-file-via-ado-connection-column-limitation-to-255-or- just-use-ano – Ralph