• 締切済み

【Microsoft Excel】 .csv 以外のCSVファイルをExcelで開きたい!

.csv 以外のCSVファイルをExcelで開きたいのですがどうしたらよいでしょうか? abcd.csvというExcelで問題なく開けるCSVファイルがあるとします。 これの拡張子を.xxx(又はその他、独自設定の拡張子)に変更して、Excelで開けるようにしようと思ったのです。 フォルダオプション>ファイルタイプ>新規(ボタン)」で「新しい拡張子の作成」ダイアログが開き、そこで ・ファイルの拡張子=.xxx ・関連付けられているファイル タイプ=Microsoft Excel CSV ファイル と設定して、abcd.xxxをダブルクリックでExcelが起動&ファイルオープンするまではいったのです。(アイコンも.csvファイルといっしょになりました。) しかし、 aaa,bbb ccc,ddd という内容のファイルが セルA1=aaa,bbb セルA2=ccc,ddd となり、csvファイルとして認識してくれていないみたいなのです。 ちなみに、元の.csvの場合にはちゃんと セルA1=aaa セルB1=bbb セルA2=ccc セルB2=ddd とExcelは表示してくれます。 どうにか上手い方法は無いものでしょうか! よろしくお願いいたします。

みんなの回答

  • craftsman
  • ベストアンサー率49% (166/336)
回答No.9

ANo.#8の訂正です。 -----(切り取り線)----- copy "(フルパス)\(ファイル名).out" "C:\Windows\temp\*.CSV" "C:\Program Files\Microsoft Office\Office\EXCEL.EXE" "C:\Windows\temp\(ファイル名).CSV" -----(切り取り線)-----  ファイル名が*.CSVじゃ開けませんでした。(^^ゞ

  • craftsman
  • ベストアンサー率49% (166/336)
回答No.8

 前の回答を送信した直後に思いつきました。  .outとして出力されるファイル名は毎回決まっているのですよね?  ならば・・・。 -----(切り取り線)----- copy "(フルパス)\(ファイル名).out" "C:\Windows\temp\*.CSV" "C:\Program Files\Microsoft Office\Office\EXCEL.EXE" "C:\Windows\temp\*.CSV" -----(切り取り線)-----  これを、OUTOPEN.BATのファイル名で保存。  このバッチファイルを実行すると、.outファイルがC:\Windows\temp\*.CSVにコピーされ、そのあとExcelに読み込まれます。  .outファイルの関連づけをOUTOPEN.BATに割り当てる。  これで無事、.outファイルをダブルクリックすると、.outをリネームコピーした物が、Excelに読み込まれます。 (.outをリネームコピーした物は、一時ファイルと考え、あえてWindowsのテンポラリフォルダにコピーしていますが、もちろん、お好みのフォルダに書き換えても良いですよ。)  駄目かな?(^^;

  • craftsman
  • ベストアンサー率49% (166/336)
回答No.7

 出力がいつも同じファイル名だと、先のバッチファイルは同名の.xxxと.CSVがあるとエラーが出ますから、リネームしながらコピーした方が良いかな? -----(切り取り線)----- copy "(フルパス)\*.out" "(フルパス)\*.CSV" -----(切り取り線)-----  フルパスで指定するフォルダは、違う場所でも構いませんが、同じ場所の方が混乱が少ないでしょう。  .outと同名の.CSVがあると、DOSプロンプト内で上書きして良いかどうかの問合わせがあります。  「Y」を入力すると、上書きされます。  全く別の方法として、Windows Scripting HostのVBScriptを使って、.outのCSVデータを解釈し、Excelをリモートコントロールしてセルに分割した値を書き込んで行くなんて方法もありますね。 (CSVデータは非常に単純明快なデータ形式なので、VBSで解釈すると言っても簡単ですよ。)  そのVBSを.outに関連づけしておけば、.outをダブルクリックするとExcelが起動し、.out内のデータがExcelのセルに自動的に入力されるなんて動きをさせる事も可能です。  この方法だと、既に起動しているExcelのファイルを開くから開く時には無効になってしまいますが。  ANo.#6の方法は、テキストとして読み込んでしまってから、セルに分割する方法ですね。  Excel側で処理するつもりなら、良い方法のように思えます。  もう一ひねりするなら、マクロが実行されると.outファイルを読み込んで、データ全体を範囲選択し、ANo.#6のマクロが実行されるようにすれば・・・。  あるいは、Excelが起動される度に開こうとしているファイルの拡張子をチェックし、.outだった時のみ上と同様の動作をするなんて方法もありますね。  コンピュータに思った通りの振る舞いをさせる事は、ある意味頓智合戦だと思います。  もちろん、出来合いのソフトウエアの振る舞いが気に入らないから最初からプログラムを書いてしまうなんて人もいる訳ですが。  Excelほどの大規模プログラムを一人で書き下ろせる訳も無く。  ならば、手元にある物を上手に組み合わせて、実現するってのがエレガントな手法でしょう。  そのためには、自分が思い描いた動作その物ができない/難しいのであれば、それに代替えする方法を組み合わせて、実現するってのもありです。  既存の物の組み合わせでは、どうしても実現できない事や、できてもやろうとすると面倒な事もある訳で。  ならば、それをどこまで妥協するか?なんてのも大事な事ですよ。 >では、これは「無理」という事で終了… >いや、あと1日だけ待ってみます~  焦らないで下さいね。  人にもよりますけど、回答者としては、解決できたのか?解決したならどのような方法で解決したのか?なんてあたりまでできれば知りたいと思います。  最終的にscc213さんがどのような方法で解決を見たのか?がわかるまで、この質問はオープンなままにして置き、解決の方法まで書き込んでくれると嬉しい。  私はそう思います。  同様の問題に悩む人が、過去のOKを検索して見つけ出した時に、解決の方法まで書かれていれば、それは非常に有益な情報となるでしょう。  慌てて結論をだして質問を閉じたりせず、結論がでるまでそのままにしておいてくれた方が良いと・・・私はそう思います。 (開けっ放しにして置けば、他に頓智の効いた解決法を書き込んで下さる方もいるかも知れませんしね。)  私は色々な手法のアウトラインを提示していますが、バッチファイル以外は具体的なものを書き込んでいません。  それは、VBAでやるにしろ、VBSでやるにしろ・・・具体的な物を作り上げるにはそれなりに手間が掛かるから。  scc213さんが具体的にこの方法でやってみようと言う決断をされるまでは、あまり手間の掛かる方法を考えるのが面倒と思ってます。  逆に、scc213さんがこの方法で行こうと決断されれば、必要であればその方法を補足して行くような形で具体的な物を書き込む事もあるかも知れません。  scc213さんが提示した課題自体は、頭の体操的に取り組むには手頃と思います。  ただ、せっかちに質問を閉じられてしまうと、ここのシステム上苦労して作り出したVBAやVBSが宙に浮いてしまうのですよね。  やってみようと思った人に空振りをさせないためにも、まだこの質問は閉じないでおいてくれると良いと思います。 

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

色んなやり方が紹介されている。それらの方法は、すでにご存知のようですが、何を困って、手数がかかって、めん度くさくて、質問しているのか良く判らない。 txtを読みこませると、A列にカンマつき区切りで、読みこまれて、そこで困るなら、何度もあるなら、操作がいやなら、下記を実行する方法もある。#3のVBA版。コマンドボタンのイベントプロシージュアーに貼りつけると良い。 Sub Macro1() d = Range("a1").CurrentRegion.End(xlDown).Row Range(Cells(1, 1), Cells(d, 1)).TextToColumns _ Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, Comma:=True End Sub

scc213
質問者

補足

2回目まで、どうもありがとうございます。 怒らせてしまったようで、どうもすみません…(>< ちなみにDOSコマンドの類やVBA系の事は知ってた訳ではありません。 .outをエクセルファイル、しかも.csvに関連付けが出来てアイコンもエクセルのCSVファイルアイコンになり、もう少しのところまで来ているような気がしていただけです。 そう、あたかもエクセルファイルの様に、自然にエクセルを知っている人だったら何も考えないでいいようにしたかっただけなのです。 みなさん、ほんと親切にありがとうございました。 もうちょっと…という気がしていただけに粘ってしまいました。 大変勉強になりました、ご迷惑をおかけしてしまいました、すいません。。 では、これは「無理」という事で終了… いや、あと1日だけ待ってみます~ ※これ以上被害者を出さないためにも、既出の答えに近い方法はご勘弁おねがいします。

  • craftsman
  • ベストアンサー率49% (166/336)
回答No.5

>使いたいソフトが.xxxという拡張子でCSVデータをはき出すのです… >変更が出来ないのです… >泣く泣くなんです~(><  ならば・・・単純に、.xxxと言う拡張子を、.CSVに振り替えれば済むのでは?  繰り返し処理しなければいけないなら、バッチファイルでも使いますか? -----(切り取り線)----- ren "(フルパス)\*.xxx" *.CSV -----(切り取り線)-----  切り取り線の内側の1行を切り取り、テキストエディタで(フルパス)の部分を、.xxxファイルが置いてあるフォルダまでのフルパスに置き換えて下さい。 (フルパス=C:\MyDocument\・・・のようにドライブレターから始まり、フォルダ名を「\」で区切って書き連ねた物。)  編集が終わったら、拡張子を.batにし、適当なファイル名(例えば、RENXXX.batとか)で保存します。  エクスプローラでバッチファイルをダブルクリックすると、(フルパス)で指定されたフォルダ内にある.xxxファイルの拡張子は、ファイル名はそのままに拡張子のみ.CSVに一括して書き換えられます。  もちろん、Excel VBAで、File System Objectを使って拡張子の振り替えとか、他にも方法は色々ありますけど。  単純に指定のフォルダ内の指定の拡張子を指定の拡張子に変更するだけなら、バッチファイルを使うのが一番お手軽かも。

scc213
質問者

補足

2回も、すいません!ありがとうございます~ はき出すファイル名は毎回決まってて、何回も同じ事をするんです。 一応、自分の中ではファイルの拡張子の変更は最終手段として考えてはいるんです。 とにかく、目指しているのは拡張子を.xxxのままエクセルでCSVファイルとして認識させたいと思ってて、もうちょっと頑張ってみようかなと思っているのですが。。 達人のみなさんから見ても、この線では解決しなさそうな感じでしょうか? ちなみに、問題のソフトはSimpleFormV3というやつで、拡張子を絶対.outとしてはき出します(>< 拡張子を.csvとしては、はき出してくれそうにありません~

  • denden_kei
  • ベストアンサー率23% (542/2278)
回答No.4

>使いたいソフトが.xxxという拡張子でCSVデータをはき出すのです… 拡張子はDOSプロンプトで一括変換できますよ。 変更すべきファイルのあるディレクトリに移動して、 ren *.xxx *.csv でOKです(xxxは変更前の拡張子)。

scc213
質問者

補足

どうもありがとうございます~ リネームツールっていう手もありますよね(><

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.3

メニューバーから、「データ」-「区切り位置」で、 [カンマやタブ・・・・・」にチェックを入れ、[次へ]で[カンマ]にチェックを入れればお望みのようになると思います。

scc213
質問者

補足

どうもありがとうございます~ 効果は微妙ですが~(><

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

>変更が出来ないのです… メモ帳で読みこめませんか。 読みこめれば、・CSVで「名前を付けて保存」が出来ませんか。やって見ましたか。

scc213
質問者

補足

どうもありがとうございます~ 読みこめますし、保存ももちろんできますよ(><

  • craftsman
  • ベストアンサー率49% (166/336)
回答No.1

 Excelは、開こうとするファイルの拡張子が.CSVであるとき、そのデータファイルがCSVファイルであると認識します。  .CSV以外の拡張子に変更すると、ExcelはそれがCSVファイルであるとは認識しません。  おそらく、プレーンなテキストファイルとして読み込んでいると思います。  中身がCSV形式なのに、.CSV以外の拡張子を使用するメリットは無いと思いますが?

scc213
質問者

補足

使いたいソフトが.xxxという拡張子でCSVデータをはき出すのです… 変更が出来ないのです… 泣く泣くなんです~(><

関連するQ&A

  • 大量のCSVデータを1つのエクセルデータにまとめる方法について

    今仕事で、CSVファイルが400ファイル程あり、これを一つの エクセルファイルにまとめなくて加工しなければならないのですが うまいことVBAを活用して効率的にできないか思案中なのですが うまい具合に行きません。 データの持ち方として ○CSVファイル1 1.AAA 2.BBB ○CSVファイル2 3.CCC 4.DDD となっており、これを1つのエクセルファイル上で 1.AAA 2.BBB 3.CCC 4.DDD としたいのですがなにかいい方法はないでしょうか? 1つのブックで外部データの取り込みでCSVを次々に選択して いくVBAなんてあれば教えていただけないでしょうか? よろしくお願いします。

  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。

  • エクセルのCSV(カンマ区切り)保存について教えてください

    次のようなEXCELデータをCSV(カンマ区切り)で保存した際に項目(カンマ)を2つ追加できるでしょうか? EXCEL  セルA1:AAA  セルB1:BBB  セルC1:  セルD1:CCC  セルE1:  セルF1: このデータをCSV保存してTEXTで確認すると、  AAA,BBB,,CCC となりますが、これを  AAA,BBB,,CCC,, としたいのですが、セルE1とセルF1がNULLのためカンマ区切りができません。半角スペースなどをいれるしかないのでしょうか? できればセルE1とセルF1には何も入力したくないのですが。良い方法がありましたら教えてください。

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • EXCELで複数行の検索

    初心者です。 Aファイルのaaa、bbbなどをキーに Bファイルを検索してできるだけ簡単にマクロ等使わずに 下記のような抽出をする方法があれば教えてください。 よろしくお願いします。 Aファイル aaa bbb ccc Bファイル(例えば「ddd」と「あ」は別セルです) ddd あ eee い aaa う fff え bbb お ggg か ccc き 結果 Aファイル aaa う bbb お ccc き

  • 【Excel/CSV】csv内にhtmlタグがあるとExcelで化ける

    Excel2000(Win-XP)使用者です。 CSVファイルをメモ帳などで作成する場合、 aaa,bbb,これは<table>です,ddd などと記入し保存、Excelで開くとおかしな表示になってしまいます。 ""で囲ったり\を付けたり実体参照符号を使ったりしましたがうまくいきません。 Excel自身がhtmlのようなしくみになっているのが原因なのでしょうが、何かいい方法はないのでしょうか。 おそらく無理なんだろうとは思いますが一応質問してみることにしました。 お詳しい方、よろしくお願いします。

  • excel vbaのファイルコピー

    あるフォルダに次のようなテキストデータ(*.csv)が50個入っています。 ファイル名:aaa.csv bbb.csv ccc.scv など ファイルの中身--- "aaa.csv" time,value 0.1,10 0.2,32 0.3,33 0.4,45 ---------------- それを次のように一つのエクセルファイルにまとめたいのですが、どうすればよいでしょうか? ----------------- A B C D E F 1 "aaa.csv" "bbb.csv" "ccc.scv" 2 time value time value time value 3 0.1 10 0.1 23 0.1 23 4 0.2 32 0.2 11 0.2 55 5 0.3 33 0.3 43 0.3 11 6 0.4 45 0.4 76 0.4 23 ------------------ よろしくおねがいします。

  • CSVファイルの指定部分をエクセルに取り込みたい

    複数のCSVファイルをエクセルに、VBAを使用して取り込みます。 CSVファイルの形式は決まっているのですが、キーワード行から指定行分のみを取り込みたいです。 データ形式は、 A1 aaa bbb ccc B1 aaa bbb ccc C1 aaa bbb ccc A1 a1a b1b c1c  :  : という感じで、キーワードA1行以下から次のキーワードより上のデータをエクセルに取り込みたいです。 どうぞよろしくお願いいたします。

  • 【少し急いでます】エクセルについて教えてください!

    Excel2000を使っています。 A列に重複するデータがあり、B列に別データがあります(20000行強) 例)     A  B 1  001 aaa 2   001 bbb 3   001 ccc 4   002 aa 5  002 bb 6  003 aaa 7  003 bbb 8  004 ddd 9   004 eee 10  005 aa 11  006 bbb A列で重複する001は3行あり、重複しているデータは1行にまとめてB列のaaa、bbb、cccをつなげたいです。(わかりづらくてすみません) 例)     A      B 1  001  aaa・bbb・ccc 2  002   aa・bb 3  003  aaa・bbb というようにまとめたいです。 どのような方法がありますでしょうか? よろしくお願い致します。

  • エクセルVBA、他のファイルからのコピー

    BBA初心者です aaa.xlsのマクロで aaa.xls にbbb.csvのデータを貼り付けたいのですが Sub () Windows("bbb.csv").Activate…ここのbbbってところをセル参照にしたいのです ActiveCell.Range("A1:A10").Select Selection.Copy Windows("aaa.xls").Activate ActiveSheet.Paste End Sub 1つ上のセルにbbbと入力されていればbbb.csvのデータを 1つ上のセルにcccと入力されていればccc.csvのデータを 貼り付けれるようなマクロはどう書けばいいのでしょうか よろしくお願いします

専門家に質問してみよう