PHPで作成したプログラムからCSV形式でデータを出力し
MSエクセル2000のVBAで取り込んでいます。
データに「,」があるとデータが分割されてしますため
「""」で囲んだところ上記の問題は解決しました。
しかし、今度は「"」部分でデータが分割される現象が起こっています
エスケープ方法、または他の解決方法はありますでしょうか?
例
(1)「あいう,えお」→「あいう」「えお」に分割される
(2)「"あいう,えお"」→「あいうえお」で問題ない
(3)「"あい"う,えお"」→「あい」「う,えお」に分割される
(4)「"あい'う,えお"」→「あい」「う,えお」に分割される
(5)「あいう"えお」→「あいう"えお」で問題ない
「,」が解決すると「'」「"」問題が生じ、逆も又同じで困っています
以上、ご教授よろしくお願いします
No.2ベストアンサー
- 回答日時:
こんばんわ。
ExcelでCSVデータを取り込むと、ご質問の例のようにはなりませんが、「"」(ダブルクォーテーション)、「,」(カンマ)を組み合せたデータでは、意図しない区切りになる事は確かです。
「あいう,えお」→「あいう」「えお」
「"あいう,えお"」→「あいう,えお」
「"あい"う,えお"」→「あいう」「えお"」
「"あい'う,えお"」→「あい'う,えお」
「あいう"えお」→「あいう"えお」
上のようになります。
ご存知と思いますが、CSVデータは、データとデータの区切りに「,」を使っています。
また、Excelでは、データの先頭に「"」があると、「"」を取り込まずに、「"」と「"」の間を文字データとして取り込みます。
そのため、上の左のデータを取り込めば、上の右のようになると思います。
私のパソコン環境(WinXP Pro,Excel2000)では、そうなります。
それを前提に、対策を取るとすれば、データ内の「,」を別の文字に変えておいて、Excelに取り込んだ後に「,」に戻すのはどうでしょう。
例えば、下の右のように「,」を「゜」に変えて置き、Excelに取り込み後、「゜」を「,」に戻す、です。
「あいう,えお」→「あいう゜えお」
「"あいう,えお"」→「"あいう゜えお"」
「"あい"う,えお"」→「"あい"う゜えお"」
「"あい'う,えお"」→「"あい'う゜えお"」
Excelに取り込み後、「,」に戻すコードは、以下の通りです。
Cells.Replace What:="゜", Replacement:=","
もし、「'」が問題になるようでしたら、「'」を「^」に変えて、
「"あい'う,えお"」→「"あい^う゜えお"」
Excelに取り込み後、下のコードで、戻せばよいでしょう。
Cells.Replace What:="゜", Replacement:=","
Cells.Replace What:="^", Replacement:="'"
No.1
- 回答日時:
よくわかりませんが,
「,」ではなく「Tab(\t)」でセル分け(列分け)をすれば良いのではないでしょうか?
どちらもCSVファイルとしてExcelに認識されますよ。
(PHPもVBAもほとんどわかっていない者です。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- その他(Microsoft Office) エクセルで1行の長いデータを指定の桁数で分割する方法が知りたいです。 4 2022/05/20 21:55
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- その他(プログラミング・Web制作) 大学のゼミのレポートがムカつきます。 R言語というデータ分析に特化したプログラム言語を用いた授業の課 1 2023/06/29 00:50
- パチンコ・スロット パチンコの機械割出玉制御ってあると思いますか? ネットでは遠隔操作は違法だが、機械割出玉制御は合法と 1 2023/02/20 23:34
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelに関して質問があります。 写真のようなことが起こりました。 解決方法が分かりません。 どな 2 2023/05/30 05:54
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
シングルクォーテーションを含む文字列の更新
Visual Basic(VBA)
-
エクセルVBAでセル内のシングルクォーテーションを変数に入れる方法
その他(Microsoft Office)
-
置換機能を使わずに先頭に「'」をつける方法
Excel(エクセル)
-
-
4
VBSでをエスケープする文字は?"
その他(プログラミング・Web制作)
-
5
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
Excel VBA テキストインポート...
-
ポケコン PC-E650 の...
-
COBOLの定義について
-
阿武町4630万円誤送金事件。町...
-
不規則なデータのfft処理
-
ディベートに関して質問です。...
-
EXCEL データをコピーして別シ...
-
ACCESS VBA インデックスが有効...
-
質問です スマホのデータを真っ...
-
エクセルのVBA メッセージボッ...
-
COD測定の滴定
-
エクセルで一連の文字列の左端...
-
メモ帳(テキストデータ)をExc...
-
SDカード メーカーや値段によ...
-
C#でserialPort送信。RS232Cへ。
-
平均値の計算の仕方は?
-
MATLABでのFFTについて
-
エクセルで2つの時系列のデー...
-
MATLAB - 3D Matrix の体積を計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報