質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

5874閲覧

VBAでCSVファイルに列追加し、ダブルクォーテーションで囲った状態で保存したい

rityonu

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/04/24 15:50

編集2020/04/24 16:31

VBAマクロにて、文字コードshift-JISのCSVファイルを編集、保存する自動機能を実装しようとしています。
元になるCSVのデータは、データ型を問わず全てダブルクォーテーションで囲われた状態です。これを崩さないまま、規定の位置(今回は1.5項目部分)へ新たに項目を増やすような編集を行い、別CSVとして保存しようとしています。
保存後のダブルクォーテーションの状態が、テキストエディタ等で確認しても違いがない状態にする方法を知りたいです。

発生している問題・エラーメッセージ

CSVファイルをVBAのマクロで開き、元CSVのデータをLine Inputにて取得。新規シートのセルにデータの値を追加する。
列を挿入する処理にて項目追加を行い、新規ブック扱いとして出力したシートを移動、CSV形式で保存する。
保存した編集後のCSVファイルをテキストエディタ上で確認をすると、ダブルクォーテーションが1つではなく3つに増えた状態になってしまう。

元のCSVデータ
"データ", "データ", "データ",…

保存した編集後のCSVデータ
"""追加項目""","""データ""", """データ""", """データ""","""追加項目""",……となってしまう。

該当のコード

対象のCSVをOpen後、Sprit関数にてカンマ区切りで分割、新規シートのセルへ値追加をする(ダブルクォーテーションをつけたままの状態で値を取得している
②列を追加後、シートを別ブックに移しCSV形式で保存。
③別ブックをテキストエディタ(今回はメモ帳)で開いて確認すると、ダブルクォーテーションが3つになった状態で保存されてしまう

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

投稿2020/04/24 16:34

freemann

総合スコア264

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問