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

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

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

ただし、これらの設定でリスト区切り記号を変更した後、Excel は CSV ファイルをセミコロンで保存し続けます。これは、リスト区切り記号がセミコロンに設定された状態で Excel がインストールされたためでしょうか。それとも、ここで見落としている別の設定があるのでしょうか。

答え1

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

答え2

節約のため

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

ここに画像の説明を入力してください


オープニング

へ移動データ - 外部データの取得 - テキストから

ここに画像の説明を入力してください

ファイルを選択

選択する区切られた次へを押してください ここに画像の説明を入力してください

を選択し、デリミタ コンマ

ここに画像の説明を入力してください

完了をクリック

ここに画像の説明を入力してください


または、それをプルインしてテキストを列に使用しますこちらをご覧ください

答え3

非常にうまく機能する非常に優れたマクロを以下に示します。

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

答え4

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

  • CSV を手動で開くと、ファイルは正しく分離されました。
  • VBA で開くと、誤ってコンマで区切られてしまいます。

を使用するとDelimiter:=";"、 でのみ機能するようです.txt

しかし、を使用するとLocal :=True問題は解決しました:

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

関連情報