
No.3ベストアンサー
- 回答日時:
こんにちは。
簡単なコードですみませんが、こんなもので出来るはずです。現在のコードでは、すべて、文字列として、「" "」クォーテーションで括ってしまいます。数字との区別はありません。
一応、標準モジュールに登録してください。
Alt + F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、再び、Alt + F11 で、画面を閉じます。
後は、Alt + F8 で、CSVEport_W_Qt を実行してみてください。(プロシージャーの名前は任意ですから、和名を付け直しても結構です。)
'--------------------------------------------
Option Explicit
Sub CSVExport_W_Qt()
Dim Fname As String
Dim usedRng As Range
Dim i As Long, j As Long
Dim buf As String
Dim Fno As Integer
Const Qt As String = """"
Fname = Application.InputBox("出力名を入力してください。", Type:=2)
If VarType(Fname) = vbBoolean Or Fname = "" Then Exit Sub
If InStr(Fname, ".csv") = 0 Then Fname = Fname & ".csv"
Fno = FreeFile()
Open Fname For Output As #Fno
With ActiveSheet
Set usedRng = .UsedRange
On Error Resume Next
For i = 1 To usedRng.Rows.Count
For j = 1 To usedRng.Columns.Count
If Not IsEmpty(usedRng.Cells(i, j)) Then
buf = buf & "," & Qt & usedRng.Cells(i, j).Value & Qt
Else
buf = buf & ","
End If
Next j
Print #Fno, Mid$(buf, 2)
buf = ""
Next i
On Error GoTo 0
End With
Close #Fno
Beep
End Sub
'--------------------------------------------
No.6
- 回答日時:
こんばんは。
>プログラムありがとうございました。ただ使う人間が理解できないので、使えませんでした。ごめんなさい。
CSVの「" "」で囲うマクロって、ある種定番ですから、どなたか分る方に組んでもらってください。#4さんには失礼かもしれませんが、Excel内で出来るものを、わざわざ外部ツールまで使う必要性はないと思います。そうしないと、いつまで経っても、Excelは不便さが残ってしまいます。
それから、お仕事で、VBA禁止の場合のご質問は、最初から、その旨を書いてくださいね。分らないから聞いていらっしゃるのでしょうから、手順まで書いてありながら、「理解できないから、使えません」なんて言うのは、とてもおかしな対応だと思います。
マクロはオート登録以外使った事が無く、VBAを使ったプログラムは、やったこともありません。質問した時には、エクセルのどこかに機能があるのではないか、との期待から質問させていただきました。エクセルには無いことがわかりましたので、エディターの一括変換で現在は対応しています。
>手順まで書いてありながら
との事ですが、どこのボタンを押していけば、VBA入力になるのかまったくわかりません。貴方様のようなある程度の知識を持っていない私にとって、恥ずかしいことでもあり、大変失礼とは思ったのですが、正直に理解できないと申しあげたわけです。それ以上の他意はございませんので、お許しください。
No.5
- 回答日時:
下記だと、プログラムが簡単に済みます。
やってみてください。DOS-Basic時代からある、Input,Writeステートメントの特徴を最大限使ってます。
Sub test01()
Open "Book1.csv" For Input As #1
Open "Book2.csv" For Output As #2
While Not EOF(1)
Input #1, s1, s2
Write #2, s1, s2
Wend
Close #1
Close #2
End Sub
ーーーーー
修正必要個所
(1)インプットファイル名のBook1,アウトプットファイル名Book2のところを質問者に合わせて変えてください。
(2)1レコード(メモ帳で1行)の項目数により
Input #1, s1, s2
Write #2, s1, s2
のS1,S2,・・を増やしてください。上記は2項目の例です。
実際テスト例示
(実行前のインプットファイル)メモ帳で
12,a
34,sd
23,f
45,ghj
(実行後)
アウトプットファイル(メモ帳で確認)
12,"a"
34,"sd"
23,"f"
45,"ghj"
No.4
- 回答日時:
Excel側で処理するのは他の方にお任せして、CSVファイルを加工する方法を紹介します。
御希望のことは「テキスト(CSV)ファイル変換」というソフトでできると思います。ちょっと前にCSVを扱うツールをいろいろ試してみたのですが、指定した列だけに引用符を付加できるのは、私が探した限りではこれだけでした。ただし、レコードごとに列数が違うとうまくいかないので、空白セルにはダミーを入れておく必要があります。引用符をつけた後はテキストエディタで一括削除してしまえばいいでしょう(ちょっと面倒ですけどね)。
とにかく、全部の列に引用符を付けるのなら「IKARI」というツールでもできました。他にも何種類かあるかもしれません。
私の場合ですが、ファイルが大きかったのでGUIのツールはどれも使えませんでした(古いマシンだったので固まってしまった)。結局、AWKで簡単なスクリプトを書いて処理しました。うまくいかない場合は、このようなスクリプト言語を使うのも手だと思います。
参考URL:http://www.koka-soft.com/okada/koka_software/chg …
No.2
- 回答日時:
エクセルで保存する時CSVを選択すると、CSV形式(Comma Separated Value)
になっています。
メモ帳かワードパットを開けて確認してみてください。
ホストに送信する時、よく行ってました。
No.1
- 回答日時:
残念ながら、Excel自体には" "囲いでCSV出力する機能はないと
思います。
ただ、筆丸などのテキストエディタ あるいは Wordを使えば、
簡単に置き換えできますので、それでおやりになったらいかが
ですか。
例えば、Wordであれば、
・先頭に「"」を挿入
・「,」を「","」に置き換え
・改行記号を「"改行記号"」に置き換え
・最後の「"」を削除
といった感じで、相当巨大なCSVファイルであっても、ほんの数十秒
もあれば完了します。
ただ、元々のデータ中に「4,000円」というようにカンマ区切り
のデータが存在している場合はちょっとやっかいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
高校生はアルバイトするべきだろうか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
人生で一番思い出に残ってる靴
皆さんの人生で一番思い入れのある靴の話を伺ってみたいです。
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
人生で一番お金がなかったとき
人生で一番お金がなかったときって、どんなときでしたか?
-
Excelで"で囲む方法
Excel(エクセル)
-
文字列として(ダブルコーテーション)を表示させる方法"
Excel(エクセル)
-
CSVファイルの任意の列をダブルクォーテーションで囲みたいのですが・・・。
Excel(エクセル)
-
-
4
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
5
各項目がダブルクォーテーションで囲まれたカンマ区切りのCSVを作る方法?
Excel(エクセル)
-
6
Excelの保存で "を付けないように保存できる?"
Excel(エクセル)
-
7
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
8
Excelでcsvやtxtで保存する時にダブルクォートが勝手に付く
Excel(エクセル)
-
9
エクセルで文字列をtxtファイルに変換すると"がつく
Excel(エクセル)
-
10
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
11
ダブルコーテーション付きでCSV出力
Visual Basic(VBA)
-
12
マクロから出力されるcsvのダブルコーテーションをなくしたい。
Visual Basic(VBA)
-
13
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
複数のcsvファイルをExcelに一...
-
【C#】パス名で無効な文字
-
バッチでCSVを処理する時、空の...
-
CSV形式での保存時に”文字列...
-
マクロから出力されるcsvのダブ...
-
csvファイルを列数ごとに分割す...
-
VBAでCSVファイルのインポート...
-
csvファイルでの日付設定「yyyy...
-
エクセル形式のファイルの読み込み
-
csvファイル 項目数取得
-
Windowsのバッチファイルについ...
-
【エクセル マクロ】読み込ん...
-
VBS or BATでCSVファイルに入っ...
-
CSVファイルを折れ線グラフ化す...
-
Excelでcsvのフィールドが減る
-
EXCEL|csvで保存→開くcsvを閉じる
-
【エクセルVBA】お願いします。...
-
複数のCSVファイルのAccessテー...
-
CSV出力して、MS/EXCELで開くと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
バッチでCSVを処理する時、空の...
-
csvファイル 項目数取得
-
マクロから出力されるcsvのダブ...
-
CSV形式での保存時に”文字列...
-
複数のcsvファイルをExcelに一...
-
【ExcelVBA】UTF-8の文字コード...
-
【C#】パス名で無効な文字
-
エクセルVBA 大容量CSVファイル...
-
csvファイルでの日付設定「yyyy...
-
CSVファイルの項目行を削除...
-
VBAでcsvファイルを読み込んで...
-
csvファイルを列数ごとに分割す...
-
CSV出力して、MS/EXCELで開くと...
-
【エクセル マクロ】読み込ん...
-
複数のCSVファイルのAccessテー...
-
【エクセルVBA】お願いします。...
-
COBOL85でのCSVファ...
-
COBOLでCSVをインプットにして...
-
csvファイルのデータの一部を取...
おすすめ情報