• 締切済み

CSV形式での保存時に”文字列引用符”にしたい(エクセル)

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答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 '--------------------------------------------

tatomi
質問者

お礼

プログラムありがとうございました。ただ使う人間が理解できないので、使えませんでした。ごめんなさい。

関連するQ&A

  • ExcelのCSV形式について

    ExcelデータをCSV形式で保存するとき文字列はダブルコーテーション、数字列はそのままでカンマ区切りしたいです。確か123のCSV形式はそうなってたと思います。お手数ですが御回答、宜しくお願い致します。

  • EXCEL VBAでのCSVファイルの編集

    CSVファイル(ダブルクォーテーション)形式のファイルをEXCEL VBAにて行の編集(削除)をした後、上書き保存をしたらダブルクォーテーション区切りではなくカンマ区切りのCSVファイルの形式になってしまいます。 ダブルクォーテーション区切りのCSVファイルで上書き保存する記述があれば教えて下さい。おそらくEXCELでCSV形式の上書きはCSV2の形式で保存されるみたいです。 困っています。どなたかお助け下さい。

  • EXCEL→CSV保存時のダブルクォーテーションについて

    下記のようにEXCELマクロにてEXCELファイルをCSVファイルに保存しようとしています。 NewBook.SaveAs Filename:="test.csv", FileFormat:=xlCSV, CreateBackup:=False このとき、セル値にダブルクォーテーションが含まれていると、出力CSVファイルの値がダブルクォーテーションで囲まれてしまいます。 ●ダブルクォーテーションが含まれていない場合 セル値→A列:ABC     B列:DEF CSVファイル→ABC,DEF ●ダブルクォーテーションが含まれている場合 セル値→A列:A"C     B列:DEF CSVファイル→"A"C",DEF 後者の場合もダブルクォーテーションで囲まれないようにするにはどうすればよいでしょうか。

  • csv形式について

    Access2000を使用しています。 データをCSV形式で吐き出したいのですが、その際、フィールドにデータが存在すれば、ダブルクォーテーションをつけ、空欄だった場合はダブルクォーテーションをつけないようにしたいと思っています。 実際にやってみると、空欄のフィールドに対してダブルクォーテーションがつくものと、つかないものとがあります。この違いはどこからきているのでしょうか? ご存知でしたら教えてください。よろしくお願いします。

  • EXCEL csv形式 1-2-3のデータが勝手に2001/2/3になる

    csv形式で保存しているデータをエクセルで読み込むと、 1-2-3→2001/2/3 になってしまいます。 WEB処理でダウンロードさせて、WINDOWSの関連つけで自動的に開かせているのです。 全角「1-2-3」と入力しても同じでした。 ダブルコーテーションでくくってもだめ。 あきらめるしかありませんか? マクロを使うつもりはありません。 データに余計なものを付加するのもだめです。 EXCELの機能を調整するのはありです。 よろしくお願いします。

  • CSVファイルへの文字列データの書き出しについて

    OS:WindowsXP、Excel:2003 です。 Excelマクロ(VBA)で、あるデータをCSVファイルに出力しているのですが、 文字列型(String)を書き出すと、必ずダブルクォーテーションで囲まれます。 CSVへ書き出すときは、そういう仕様になっているということは分かったのですが、 処理の都合上、どうしてもダブルクォーテーションで囲まずに書き出ししたいと思っています。 そういう場合にはどのようにすれば良いのか教えて下さい。 ちなみに、書き出しは「Write」を使っています。

  • ExcelファイルをCSV 形式で保存するには?

    ExcelファイルをCSV 形式 (Windows、カンマ区切り) (*.csv)にして書類を提出するように言われたのですが、その方法について教えてください。 データの内容は会社の詳細で、1社につき100項目のデータがあり、それが50社あります。その場合、1社目のデータをA列に、2社目のデータをB列にというように入力すればよいのでしょうか? Excel の [名前を付けて保存] ([ファイル] メニュー) を使って、CSV (カンマ区切り) (*.csv)ファイルで保存すると、各項目がカンマで区切られるのでしょうか? 1レコード目と2レコード目はどういった区切りになるのでしょうか? またファイル形式はCSV 形式でと言うことですが、提出するファイル名の拡張子を.txtとしないといけないのですが、それはどうすればいいのでしょうか?

  • ExcelのCSV形式で保存する必要性について

    テキストデータをExcelでカンマ区切りで開いてExcelのCSV形式で保存すると、見た目はエクセルとなんらかわらず、集計等できるものの、書式等が保持されない状態で保存されるものと理解しています。 それであれば、なにもCSVでなくExcelブック形式で保存した方が良いように思いますが、敢えてExcelのCSV形式で保存する理由、あるいは必要性について教えてください。

  • EXCELVBAにて文字列にして「01」と表示させて、CSV形式で保存すると「1」になってしまう。

    Excel VBAにて質問があります。 E列に「01」と表示させたくで 'E列を「文字列」にする Columns("E:E").Select Selection.NumberFormatLocal = "@" と記述しました。 その後、名前を付けて保存でCSV形式にて保存します。 保存されたCSV形式のファイルを開くと「1」のままになってしまいます。 なぜでしょうか?何か他に記述しなければいけないのでしょうか? わかる方教えてください。

  • エクセルでCSV形式で保存したいができない

    エクセル2002で、保存するときに csv形式と選ぶのですが CSVとは互換性のない機能が含まれている というようなメッセージがでてしまいます 中のデータは単なる住所録で特段凄い内容ではありません。どうすればうまく行きますか?