web-dev-qa-db-ja.com

Excelは、CSVファイルの読み取りまたは書き込みの区切り文字設定を尊重しません

ExcelでCSVファイルを保存/開くとき、デフォルトのセパレータはセミコロン(;)です。カンマ(、)にする必要があるため、この問題に関する他のいくつかの投稿に従って、言語と地域の設定を変更して変更しようとしました( ie ExcelでCSVファイルのデフォルトの区切り文字としてカンマを解釈する方法は? )。

ただし、これらの設定でリストセパレーターを変更した後、ExcelでCSVファイルがセミコロンで保存され続けます。リストセパレーターがセミコロンとして設定されているときにExcelがインストールされたためですか?または私がここで見逃している別の設定はありますか?

前もって感謝します。

21
Sandra

問題が見つかりました。地域設定の小数点記号もカンマ(ヨーロッパ)だったので、リストの区切りがカンマの場合でも、CSVはセミコロンで保存されていました。次に、小数点記号をポイントに変更し、CSVファイルが区切り記号としてコンマを使用して正しく作成されるようになりました。私はこれを2回テストしましたが、例外があるはずです。小数点記号がコンマの場合、リストのセパレーターはセミコロンになります。

36
Sandra

保存用

ファイルを保存するには、言語と地域の設定priorでリスト区切りを調整する必要があります-

enter image description here


開封について

Data-Get External Data-From Textに移動します

enter image description here

ファイルを選択

区切りを選択し、次を押します enter image description here

デリミタカンマを選択します

enter image description here

終了をクリック

enter image description here


または、プルしてから列にテキストを使用します ここを参照

5
Raystafarian

これは非常にうまく機能する非常に素晴らしいマクロです:

Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub
0
yo_haha

これは少し古いですが、同じ問題に遭遇しました:
CSVがセミコロン(;)で区切られている。システム区切り文字設定(Windows)もセミコロンに設定されています。

  • CSVを手動で開いた場合、ファイルは正しく分離されました。
  • VBAで開いた場合、カンマで区切られていました。

Delimiter:=";"の使用は、明らかに.txtでのみ機能します。

ただし、Local :=Trueを使用して問題を解決しました:

Workbooks.Open(Filename:=fullpath, Local:=True)
0