• ベストアンサー

csv ファイルのデータを文字列として開く

csv ファイルを開いた時に、最初から 全てのセルの 「セルの書式設定 > 分類」を「文字列」にすることは出来ますか? 一度、拡張子を txt に変えて 「テキスト ファイル ウィザード」 「列のデータ形式」を文字列にするのは知っているのですが、 ・拡張子を変える ・エクセルを開く ・ファイルを選ぶ ・全ての列を選択 ・文字列にする と非常に面倒なので csv ファイルのままでファイルを開いたら 最初から文字列にする方法を探してます。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

VBAなら下記10数行でできる。 ALT+F11(VBE画面になる) 挿入ー標準モジュール 下記をコピー貼り付け 書き込むエクセルシートを開いておいて F5(実行) (実行の指示は、 メニューに入れる コマンドボタン など色々有るのでVBAの本かWEBで勉強してください。) Sub test01() f = Application.GetOpenFilename(FileFilter:="CSVファイル,*.csv" _ , Title:="データファイルを選んでください") i = 1 Open f For Input As #1 While Not EOF(1) Line Input #1, a s = Split(a, ",") For j = 0 To UBound(s) Cells(i, j + 1).NumberFormatLocal = "@" Cells(i, j + 1) = s(j) Next i = i + 1 Wend Close #1 End Sub

fa46
質問者

お礼

ありがとうございます。 これで、だいぶ、楽になりますね。 エクセルの設定で 「csv を開いた時は、すべて文字列になる」 なんていう設定はやはりないのでしょうか? レジストリをいじるみたいな方法でもよいのですが・・・

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

拡張子が「.csv」であれば「.txt」に変えなくてもそのまま読めませんか? 「.txt」ファイルの場合通常区切り文字の種類が限定できません。つまりなんでもありなのでウィザードが起動するのだと思います。 区切り文字としては 「カンマ」「タブ」「スペース」等があります。 「.csv」は「Comma Separated Value」つまり区切り文字として「カンマを使用している」ので「.txt」に変える必要はありません。

fa46
質問者

補足

txt であれ csv であれ、 開いた時にセルの書式設定を文字列にしたいのです。 デフォルトの標準だと 1-23 > 1月23日 003 > 3 になってしまいますが、これを回避したいのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CSVデータの文字列置換

    かなり、困っております・・・。 「c:\csv_data」に複数のcsvデータが入っており、csvに含まれている "00ABC"を"00000"に変換させたいです。 (フォルダ内の全てのcsvを変換させたいです) 一度作ってみたんですが、Excel-VBAでCSVファイルを開いて編集をかけると書式が失われてしまう為、だめでした・・・。 そこで ・Excel-VBAでの良い方法 ・BATファイルで拡張子csv⇒txtに開いてからの編集⇒csvへ といった2つの方法(どちらか)がであれば作業工程上、他の処理と同時に 自動化できることからこの2つの方法での文字列変換方法を知りたいです。

  • ExcelでのCSVファイルの編集について、

    ExcelでのCSVファイルの編集について、 オートフィルタ機能を使いたいため、 ExcelでCSVファイルの編集しようとしているのですが、ちょっと苦戦しています。。。 私が試してみたこと 1.もとのCSVファイルの拡張子を○○.csv → ○○.txtに変更。   ↓ 2.Excelの「開く」からその○○.txtを読み込む。   ↓ 3.テキストファイルウィザードに従い、   1「カンマやタブなどの区切り文字によって~ 」にチェック   2「区切り文字」→ カンマ、「文字列の引用符」 → "   3「列のデータ形式」 → 文字列 ※090などの数字を、90と先頭の0を消されないように 上記のような手順でCSVファイルを取り込み、編集を終え、 保存する時は   「○○.txtにはテキスト(タブ区切り)と互換性のない機能が含まれている可能性があります。    この形式でブックを保存しますか?」 → このまま保存するため「はい」を選択 これでバッチリOK!…かと思われたのですが、 元の編集前の○○.txt は"名前","ヨミ","電話番号1", …… ""とカンマ区切りであったのが、 編集後の○○.txtは名前 ヨミ 電話番号1  …… タブ区切り(?) となってしまっています。 (CSVファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。

  • CSVをExcelに読み込む時の前ゼロについて

    CSVファイルをExccelで読み込む方法について教えてください。 前ゼロを消さずにCSVファイルをExcelで読み込む場合に、下記の方法でできると書かれていました。 疑問なのは、なぜ1番でCSVの拡張子をtxtに変えているかです。 CSVをTXTに変える意味はあるんでしょうか? http://q.hatena.ne.jp/1102427939#a4 1.読み込むCSVファイルの拡張子を「.txt」に変更する 2.エクセルから「開く」で読み込むリストを選択して開く 3.「テキストファイルウィザード」というのが現れるので、「元のデータの形式」を「カンマやタブなどの・・・」を選択して「次へ」ボタン押下 4.「区切り文字」は「カンマ」のみをチェックして「次へ」ボタン押下 5.「区切った後のデータ形式を選択してください」とでるので、数字のみの項目を反転させて「文字列」を選択して「完了」ボタン押下 これでいけるはずです。 質問者:nyanta 2004-12-08 07

  • excelで日付を文字列として保存したい

    excel(たぶんかなり新しいバーション)を使っています。 最近のexcelはバージョンすら、見方がわかりません。 さて、日付を"2015-01"という書式で、テキストファイルとしてアップロードしないといけなくなりました。2015-09 と入力すると 2015/9/1 として保存されてしまうので、セルの書式を 文字列にし、2015-09  や 2016-12などとうちこんでから.csvで保存しました。 このファイルを開けると、それらがすべて2015/09とか2016/12として保存されています! これを セルの書式を 文字列 に変更すると42248 とかになってしまいます。 そんなこんなで一日つぶしています。マイクロ●●●社は社会に、もはや善よりも悪をもたらしているように信じていますが、それはさておき、2015-01をあるがままの文字列として.csvに保存するにはどうすればよいのでしょうか。' を頭につけるて、ファイルをアップロードすると規則違反なので、別の方法をお教えください。

  • csvファイルをtxtファイル変換時にカンマを表示する方法

    csv形式でデーターを作成します。 例えばA1セルに「山田」、B1セルに「小林」となっていたとします その後、このcsvファイルの拡張子をtxtに変更したときに、 作成されたtxtファイルでは、 山田,小林 となります。 作成されたテキストファイルで、「小林」の後にカンマが入るようにするにはどうしたらよいでしょうか。 よろしくお願いします

  • CSVファイルについて教えて下さい

    CSVファイルでアドレス帳を作成中です。 ところが電話番号のはじめは必ず「0」がつきます。セルの書式設定で文字列にしていたんですが、保存をしてもう一度開いたら「5.68+08」のような表示になってしまいました。 そこで、もう一度、書式設定で文字列にしたんですが全部「0」が消えてしまいました。 もとに戻す方法はありませんか?教えて下さい。

  • ExcelファイルをCSVに変換した場合

    たとえばセルの書式設定でA列の数値「100」を「0100」と4桁で表示させExcelファイルをCSVに変換した場合、書式設定が反映できない為 「100」に戻ってしまうのですが、4桁を保持したい場合どうすればよいでしょうか?書式設定ではなく関数が分かれば書式を文字列に変換してからCSV形式に変換できるのですが...

  • テキスト ファイル ウィザートを表示させたい!

    EXCELでcsv形式のファイルを開くときに、テキストファイルウィザードを表示させたいのですが、どなたか方法わかりますか? tsv形式のファイルだとウィザードが立ち上がるんですが、csvだと立ち上がりません。 なぜウィザードが必要かというと、読み込みたいデータの中に何列か文字列で読み込みたいデータがあるからです。 EXCEL97です。 よろしくお願いします!!

  • CSVファイルを全て文字列型で開く

    CSVファイルをEXEL2000で参照する際に全ての項目を文字列型で表示したいと思います。 「外部データの取り込み―>テキストファイルのインポート」 ではなくて、SendToやマクロなんかを使ってなにか良い方法があればと思うのですがなかなか思いつかないので、アドバイス等ありましたらお願い致します。 (要はユーザーさんにCSVをダブルクリックで開いて欲しくないのです。「001」 -> 「1」とかになってしまうから。)

  • Excelでcsvのフィールドが減る

    csvファイルをExcel2000のテキストファイルウィザードで開き、 再びcsvで保存した場合に、フィールド数(カンマの数)が減る という現象が起こりました。 再保存する際、空白セルが無視されるのかと考えましたが、 同ファイル内に、空白であってもフィールドが保存されている レコードもあります。 OSはWin2000 csvはテキストファイルウィザードで開けない為、 拡張子を一旦 txt に変えてから開いています。 原因、解決方法、何かヒントになりそうな事なら何でもよいので アドバイスよろしくお願いします。

専門家に質問してみよう