No.2
- 回答日時:
こんにちは。
簡単なマクロを作ってみました。ただし、これは、出力のみであって、CSVそのものを、そのままインポートすると、「"01","02","03"」は、「1,2,3」に戻ってしまいます。
以下の SWITCH の部分のパラメータによって、「""」の囲み方が変わります。
以下のマクロは、標準モジュールに取り付けると良いと思います。
標準モジュールへの取り付け方
Alt + F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、
Alt + Q で、画面を閉じます。
'----------------------------------------------------------------
Sub OutputCSV()
'CSV["" (クォーテーションマーク)]付き出力
Dim myFname As Variant
Dim Fno As Integer
Dim buf As String
Dim i As Long
Dim j As Long
Const QT As String = """"
'「""」を入れるかどうか
'0 =すべて, 1 =書式文字列のみ, 2 =すべてない
Const SWITCH As Integer = 0
'註:数値でも、'02 や書式文字列にしていれば、文字列として認識する
myFname = Application.GetSaveAsFilename("", "テキスト ファイル (*.csv), *.csv")
If myFname = False Then
Exit Sub
ElseIf Dir(myFname) <> "" Then
If MsgBox("同じ名前のファイルがあります。上書きしますか?", vbQuestion) = vbCancel Then
Exit Sub
End If
End If
With ActiveSheet.UsedRange
If WorksheetFunction.Count(.Cells) = 0 Then
MsgBox "データが一つもありません。", vbCritical
Exit Sub
End If
Fno = FreeFile
Open myFname For Output As #Fno
For i = 1 To .Rows.Count
For j = 1 To .Columns.Count
If Not IsEmpty(.Cells(i, 1).Value) Then
If SWITCH = 0 Then
buf = buf & "," & QT & .Cells(i, j).Text & QT
ElseIf SWITCH = 1 Then
If VarType(Cells(i, j).Value) = vbString Then
buf = buf & "," & QT & .Cells(i, j).Text & QT
Else
buf = buf & "," & .Cells(i, j).Text
End If
Else
buf = buf & "," & .Cells(i, j).Text
End If
End If
Next j
Print #Fno, Mid$(buf, 2)
buf = ""
Next i
End With
Close #Fno
End Sub
'----------------------------------------------------------------
この回答へのお礼
お礼日時:2006/11/24 15:31
マクロですね。私も考えました。ありがとうございます。
エクセルの機能であるかと思い、質問させていただきました。
回答ありがとうございます。
No.1ベストアンサー
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- システム メールのcsv添付ファイルの種類を テキスト形式からカンマ区切り形式に 変更する方法はありますか? 4 2023/03/09 20:33
- その他(Microsoft Office) VBA CSV出力について 3 2023/04/19 14:14
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの時刻の形式について
-
COBOL FILLER
-
accessでクエリをExcelにエクス...
-
VB.NET操作で Excelにビットマ...
-
TransferSpreadsheetでフルパス...
-
COBOL、項目末尾に空白がある場...
-
ファイナルカットで編集した動...
-
コマンドプロンプトのテキスト...
-
VBA 参照先で選んだファイルを...
-
Apacheのエラーログのログレベ...
-
excel vbaでのxml出力がわかり...
-
accessのリポートを、excelに出...
-
PHP:unzipコマンドにおけるエ...
-
linux上で「java + poi」の変わ...
-
SQLからデータのDL
-
ACCESS2002(or2003)の日付表示...
-
Thunderbird 受信メールからの...
-
アクセス→エクセルへエクスポー...
-
JavaでPDFファイルに変換するに...
-
テキストファイルの一部分を抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
コマンドプロンプトのテキスト...
-
COBOL、項目末尾に空白がある場...
-
Thunderbird 受信メールからの...
-
VB6.0でExcel,PDF,Word出力方法
-
ショートカットで起動した場合...
-
AccessのレポートからPDFをペー...
-
accessのリポートを、excelに出...
-
Acrobat参照設定
-
Excel で「OLE は現在使用でき...
-
ファイナルカットで編集した動...
-
WshShellから起動したbat(ftp)...
-
COBOL FILLER
-
エクセルが裏で動いたままなん...
-
Fortranでの出力ファイル
-
マクロについて質問です。 現在...
-
TransferSpreadsheetでフルパス...
-
iTextでPDFを表示させたら日本...
-
ACCESS2002(or2003)の日付表示...
おすすめ情報