QA@IT
«質問へ戻る

2
タグ

項目内に改行CRLFを含むCSVをExcelに取り込む際の書式指定ができません

お世話になります。
現在、Excel2010のマクロを使って、ある項目内に改行CRLFを含むCSVを
Excelシートにコピーして加工するマクロを作成しようとしています。

CSV1レコードの例)

"001","b","c","d[CR][LF]
e[CR][LF]
f[CR][LF]
g","h"

4項目名に改行が含まれますが、1レコードあたり5項目のCSVです。
CSVをExcelに取り込むには様々な方法があると思いますが、改行を含んでいても正しく取り込める方法として、
現在は下記のようにOpenText関数を使用して読み込みを行い、シートへ貼り付けています。

    Workbooks.OpenText fileName:=取り込みたいファイルの名称, StartRow:=1, _
     DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _
     ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
     Comma:=True, Space:=False, Other:=False, _
     FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _
・・・・・・・・・・・・・・

このとき、CSVの取込自体はできるのですが、FieldInfoで指定した書式指定
(ここでは文字列をあらわすxlTextFormat)が無視されてしまい、
Excelに取り込んだときには文字列でなく標準の書式になっています。
つまり上記の例では1項目目の"001"が桁落ちして1となってしまいます。
ネットで調べたところ、OpenText関数では拡張子csvのファイルを読み込む際には
FieldInfo指定が無効となるとありました。そこでファイルの拡張子を.txtに変えてみたところ、
今度は項目内改行が認識されず、行区切りの改行とみなされてしまって、項目取り込みがずれてしまいます。
なんとか、桁落ちせず、なおかつ項目内改行も正しく認識できるような方法はないでしょうか。
OpenText関数以外の方法でもかまいませんので、有識者の方々にご教授いただければ、
と思っております。
よろしくお願いします。

お世話になります。
現在、Excel2010のマクロを使って、ある項目内に改行CRLFを含むCSVを
Excelシートにコピーして加工するマクロを作成しようとしています。

CSV1レコードの例)
```
"001","b","c","d[CR][LF]
e[CR][LF]
f[CR][LF]
g","h"
```
4項目名に改行が含まれますが、1レコードあたり5項目のCSVです。
CSVをExcelに取り込むには様々な方法があると思いますが、改行を含んでいても正しく取り込める方法として、
現在は下記のようにOpenText関数を使用して読み込みを行い、シートへ貼り付けています。
```
    Workbooks.OpenText fileName:=取り込みたいファイルの名称, StartRow:=1, _
     DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _
     ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
     Comma:=True, Space:=False, Other:=False, _
     FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _
・・・・・・・・・・・・・・
```
このとき、CSVの取込自体はできるのですが、FieldInfoで指定した書式指定
(ここでは文字列をあらわすxlTextFormat)が無視されてしまい、
Excelに取り込んだときには文字列でなく標準の書式になっています。
つまり上記の例では1項目目の"001"が桁落ちして1となってしまいます。
ネットで調べたところ、OpenText関数では拡張子csvのファイルを読み込む際には
FieldInfo指定が無効となるとありました。そこでファイルの拡張子を.txtに変えてみたところ、
今度は項目内改行が認識されず、行区切りの改行とみなされてしまって、項目取り込みがずれてしまいます。
なんとか、桁落ちせず、なおかつ項目内改行も正しく認識できるような方法はないでしょうか。
OpenText関数以外の方法でもかまいませんので、有識者の方々にご教授いただければ、
と思っております。
よろしくお願いします。

質問を投稿

項目内に改行CRLFを含むCSVをExcelに取り込む際の書式指定ができません

お世話になります。
現在、Excel2010のマクロを使って、ある項目内に改行CRLFを含むCSVを
Excelシートにコピーして加工するマクロを作成しようとしています。

CSV1レコードの例)

"001","b","c","d[CR][LF]
e[CR][LF]
f[CR][LF]
g","h"

4項目名に改行が含まれますが、1レコードあたり5項目のCSVです。
CSVをExcelに取り込むには様々な方法があると思いますが、改行を含んでいても正しく取り込める方法として、
現在は下記のようにOpenText関数を使用して読み込みを行い、シートへ貼り付けています。

    Workbooks.OpenText fileName:=取り込みたいファイルの名称, StartRow:=1, _
     DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _
     ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
     Comma:=True, Space:=False, Other:=False, _
     FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _
・・・・・・・・・・・・・・

このとき、CSVの取込自体はできるのですが、FieldInfoで指定した書式指定
(ここでは文字列をあらわすxlTextFormat)が無視されてしまい、
Excelに取り込んだときには文字列でなく標準の書式になっています。
つまり上記の例では1項目目の"001"が桁落ちして1となってしまいます。
ネットで調べたところ、OpenText関数では拡張子csvのファイルを読み込む際には
FieldInfo指定が無効となるとありました。そこでファイルの拡張子を.txtに変えてみたところ、
今度は項目内改行が認識されず、行区切りの改行とみなされてしまって、項目取り込みがずれてしまいます。
なんとか、桁落ちせず、なおかつ項目内改行も正しく認識できるような方法はないでしょうか。
OpenText関数以外の方法でもかまいませんので、有識者の方々にご教授いただければ、
と思っております。
よろしくお願いします。

お世話になります。
現在、Excel2010のマクロを使って、ある項目内に改行CRLFを含むCSVを
Excelシートにコピーして加工するマクロを作成しようとしています。

CSV1レコードの例)
```
"001","b","c","d[CR][LF]
e[CR][LF]
f[CR][LF]
g","h"
```
4項目名に改行が含まれますが、1レコードあたり5項目のCSVです。
CSVをExcelに取り込むには様々な方法があると思いますが、改行を含んでいても正しく取り込める方法として、
現在は下記のようにOpenText関数を使用して読み込みを行い、シートへ貼り付けています。
```
    Workbooks.OpenText fileName:=取り込みたいファイルの名称, StartRow:=1, _
     DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, _
     ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
     Comma:=True, Space:=False, Other:=False, _
     FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), _
・・・・・・・・・・・・・・
```
このとき、CSVの取込自体はできるのですが、FieldInfoで指定した書式指定
(ここでは文字列をあらわすxlTextFormat)が無視されてしまい、
Excelに取り込んだときには文字列でなく標準の書式になっています。
つまり上記の例では1項目目の"001"が桁落ちして1となってしまいます。
ネットで調べたところ、OpenText関数では拡張子csvのファイルを読み込む際には
FieldInfo指定が無効となるとありました。そこでファイルの拡張子を.txtに変えてみたところ、
今度は項目内改行が認識されず、行区切りの改行とみなされてしまって、項目取り込みがずれてしまいます。
なんとか、桁落ちせず、なおかつ項目内改行も正しく認識できるような方法はないでしょうか。
OpenText関数以外の方法でもかまいませんので、有識者の方々にご教授いただければ、
と思っております。
よろしくお願いします。