添付図のような、Excel2003で作成した表内のデータを
CSVで保存するマクロを作成したのですが、
図のように、CSVファイルに「""」で値が囲まれた状態で、
保存されてしまいます。
下記にマクロを記載しますので、
どうすれば文字列が「""」で囲まれずに、
カンマ区切りだけのデータで出力されるのか、
ご存知の方おられましたら、ご教示お願い致します。
Sub csv保存()
Dim フォルダ名 As String
Dim パス名 As String
Dim ファイル名 As String
Dim データ As Variant
Dim 行数 As Long, 列数 As Integer
Dim i As Integer, j As Long, k As Long
ファイル名 = "test.csv"
フォルダ名 = "csv"
パス名 = ActiveWorkbook.Path & "\" & _
フォルダ名
'csvフォルダが存在しなければ作成する
If Dir(パス名, vbDirectory) = "" Then
MkDir パス名
End If
ChDir パス名
Open ファイル名 For Output As #1
For i = 1 To Worksheets.Count
Worksheets(i).Activate
Worksheets(i).Cells(1, 1).Select
ActiveCell.CurrentRegion.Select
行数 = Selection.Rows.Count
列数 = Selection.Columns.Count
For j = 1 To 行数
For k = 1 To 列数 - 1
データ = Selection.Cells(j, k) _
.Value
Write #1, データ;
Next k
Write #1, Selection.Cells(j, 列数) _
.Value
Next j
Next i
Close #1
End Sub
No.2ベストアンサー
- 回答日時:
Write # は文字列を""で囲んで出力する仕様になっています。
そのまま出力したければ、Print #を利用すればよろしいかと。
ただし、Printの場合は区切り文字(カンマ)を自動で出力してくれませんので、併せて出力する必要があります。
For j = 1 To 行数
For k = 1 To 列数 - 1
データ = Selection.Cells(j, k) .Value
Print #1, データ; ",";
Next k
Print #1, Selection.Cells(j, 列数).Value
Next j
なお、いらぬおせっかいですが、ドライブが複数ある環境下だと、
ChDir パス名
だけでは必ずしもcvsフォルダ内に、ファイルが作成されるとは限りません。
Open パス名 & "\" & ファイル名 For Output As #1
のように、フルパスで指定しておいた方が確実かと…
ご回答ありがとうございます。
Printとカンマを手動で出力することで、
期待動作をさせることが出来ました。
>必ずしもcvsフォルダ内に、ファイルが作成されるとは限りません。
そうなのですね。。全く考慮していませんでした。
是非反映させたいと思います。
No.1
- 回答日時:
For j = 1 To 行数
For k = 1 To 列数 - 1
データ = Selection.Cells(j, k).Value
' Write #1, データ;
Print #1, データ;
Next k
' Write #1, Selection.Cells(j, 列数).Value
Print #1, Selection.Cells(j, 列数).Value
Next j
といった具合に 『Write』を『Print』変更してみましょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
マクロから出力されるcsvのダブルコーテーションをなくしたい。
Visual Basic(VBA)
-
Excelの保存で "を付けないように保存できる?"
Excel(エクセル)
-
-
4
カンマ区切りのCSVファイルから"を削除したい
その他(プログラミング・Web制作)
-
5
各項目がダブルクォーテーションで囲まれたカンマ区切りのCSVを作る方法?
Excel(エクセル)
-
6
Excelでcsvやtxtで保存する時にダブルクォートが勝手に付く
Excel(エクセル)
-
7
エクセルで文字列をtxtファイルに変換すると"がつく
Excel(エクセル)
-
8
タブ区切りデータからダブルコーテーションを外したい
Excel(エクセル)
-
9
EXCEL→CSV保存時のダブルクォーテーションについて
Visual Basic(VBA)
-
10
Excel:任意の列だけCSV形式で出力したい。
Excel(エクセル)
-
11
CSVファイルの任意の列をダブルクォーテーションで囲みたいのですが・・・。
Excel(エクセル)
-
12
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
13
文字列からタブコードを取り除きたい
Visual Basic(VBA)
-
14
EXCELVBAにて文字列にして「01」と表示させて、CSV形式で保存すると「1」になってしまう。
その他(プログラミング・Web制作)
-
15
Excelマクロ 空白セルを無視してCSV出力
Excel(エクセル)
-
16
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
17
エクセルの"の削除方法を教えてください。
その他(Microsoft Office)
-
18
VBA シートの内容の範囲を指定してtxtファイルに出力する方法
Excel(エクセル)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
DATE型変数を初期化する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで一つ上の階層...
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
VBS パスに変数を入れたい
-
fopenでのパス指定
-
C# MP4のタグ情報のサブタイト...
-
【VBA】ExcelマクロでCSVファイ...
-
A列に記載されているフォルダ...
-
C++でネットワークパスのファイ...
-
ExcelVBAの使い方 ¥の使い方...
-
Excel2010VBAでエラーが出る相...
-
(GCCコンパイラ)動的リンクを絶...
-
コマンドプロンプトのコピー関...
-
フルパスからファイル名取得の方法
-
【Excel VBA】Power Qurry のソ...
-
指定したフォルダ内の最新ファ...
-
エクセルのファイルオープン時...
-
エクセルのマクロで特定フォル...
-
【VBA】複数のtxtファイルから...
-
Cの関数で自分自身のパス取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
xcopyコマンドの進行状況を表示...
-
エクセルのマクロで特定フォル...
-
エクセルVBAで一つ上の階層...
-
【VBA】ExcelマクロでCSVファイ...
-
コマンドプロンプトのコピー関...
-
A列に記載されているフォルダ...
-
ExcelVBAの使い方 ¥の使い方...
-
EXCEL(VBA)で指定フォルダ内の...
-
【VB.NET】App.configにファイ...
-
SaveAsの保存先について
-
outlook開けない
-
Eclipse
-
VBAでパワーシェルを実行したい...
-
fopenでのパス指定
-
指定したフォルダ内の最新ファ...
-
開いているファイルを削除し、...
-
VBA★PDFをPDFアプリで印刷し...
-
ExcelのVBAで上書き保存を確...
おすすめ情報