.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は表示してくれます。
どうにか上手い方法は無いものでしょうか!
よろしくお願いいたします。
A 回答 (9件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>使いたいソフトが.xxxという拡張子でCSVデータをはき出すのです…
>変更が出来ないのです…
>泣く泣くなんです~(><
ならば・・・単純に、.xxxと言う拡張子を、.CSVに振り替えれば済むのでは?
繰り返し処理しなければいけないなら、バッチファイルでも使いますか?
-----(切り取り線)-----
ren "(フルパス)\*.xxx" *.CSV
-----(切り取り線)-----
切り取り線の内側の1行を切り取り、テキストエディタで(フルパス)の部分を、.xxxファイルが置いてあるフォルダまでのフルパスに置き換えて下さい。
(フルパス=C:\MyDocument\・・・のようにドライブレターから始まり、フォルダ名を「\」で区切って書き連ねた物。)
編集が終わったら、拡張子を.batにし、適当なファイル名(例えば、RENXXX.batとか)で保存します。
エクスプローラでバッチファイルをダブルクリックすると、(フルパス)で指定されたフォルダ内にある.xxxファイルの拡張子は、ファイル名はそのままに拡張子のみ.CSVに一括して書き換えられます。
もちろん、Excel VBAで、File System Objectを使って拡張子の振り替えとか、他にも方法は色々ありますけど。
単純に指定のフォルダ内の指定の拡張子を指定の拡張子に変更するだけなら、バッチファイルを使うのが一番お手軽かも。
この回答への補足
2回も、すいません!ありがとうございます~
はき出すファイル名は毎回決まってて、何回も同じ事をするんです。
一応、自分の中ではファイルの拡張子の変更は最終手段として考えてはいるんです。
とにかく、目指しているのは拡張子を.xxxのままエクセルでCSVファイルとして認識させたいと思ってて、もうちょっと頑張ってみようかなと思っているのですが。。
達人のみなさんから見ても、この線では解決しなさそうな感じでしょうか?
ちなみに、問題のソフトはSimpleFormV3というやつで、拡張子を絶対.outとしてはき出します(><
拡張子を.csvとしては、はき出してくれそうにありません~
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
この回答への補足
2回目まで、どうもありがとうございます。
怒らせてしまったようで、どうもすみません…(><
ちなみにDOSコマンドの類やVBA系の事は知ってた訳ではありません。
.outをエクセルファイル、しかも.csvに関連付けが出来てアイコンもエクセルのCSVファイルアイコンになり、もう少しのところまで来ているような気がしていただけです。
そう、あたかもエクセルファイルの様に、自然にエクセルを知っている人だったら何も考えないでいいようにしたかっただけなのです。
みなさん、ほんと親切にありがとうございました。
もうちょっと…という気がしていただけに粘ってしまいました。
大変勉強になりました、ご迷惑をおかけしてしまいました、すいません。。
では、これは「無理」という事で終了…
いや、あと1日だけ待ってみます~
※これ以上被害者を出さないためにも、既出の答えに近い方法はご勘弁おねがいします。
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が宙に浮いてしまうのですよね。
やってみようと思った人に空振りをさせないためにも、まだこの質問は閉じないでおいてくれると良いと思います。
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のテンポラリフォルダにコピーしていますが、もちろん、お好みのフォルダに書き換えても良いですよ。)
駄目かな?(^^;
No.9
- 回答日時:
ANo.#8の訂正です。
-----(切り取り線)-----
copy "(フルパス)\(ファイル名).out" "C:\Windows\temp\*.CSV"
"C:\Program Files\Microsoft Office\Office\EXCEL.EXE" "C:\Windows\temp\(ファイル名).CSV"
-----(切り取り線)-----
ファイル名が*.CSVじゃ開けませんでした。(^^ゞ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) Excelについて。 Excelからcsv変換したいのですが、 やり方はファイル→名前をつけて保存→ 7 2022/07/27 01:10
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Excel(エクセル) Excel VBAでフォルダが何層にもなっていて最下層の中にCSVファイルがあり最上層のファイルを指 4 2022/06/08 20:41
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
【マクロ】シート名を取得する...
-
ハイパーリンクで前回値をひき...
-
excelに貼り付けた数値が勝手に...
-
エディタで効率的な切り出し方法
-
Excelのマクロを実行しても、エ...
-
CSVで文字化けしてしまうのを直...
-
「やよいの青色申告」のファイ...
-
VLOOKUP関数とネットワークに置...
-
Teraマクロで日付ディレクトリ...
-
=CELL("filename")で取得したフ...
-
PDF ファイルが開けません。
-
初めまして、VBA初心者です。 ...
-
ローマ字→カタカナへ変換(エク...
-
Excel VBA のdebug(F8キー) が...
-
スクロールしてもボタンを常に...
-
エラーになってないのにVBA...
-
押したボタンの位置取得(共通の...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
ファイルを並び替えるときの「...
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
excel INDIRECT 他ファイル参照
-
エクセルファイルから指定した...
-
エディタで効率的な切り出し方法
-
PDF ファイルが開けません。
-
EXCELのマクロを使って、テキス...
-
ハイパーリンクで前回値をひき...
-
エクセルからスキャナVBAで連動...
-
EXCEL VBA ー 同一フォルダ内の...
-
CSVで文字化けしてしまうのを直...
-
エクセルマクロでファイルオー...
-
ミュージックファイルのファイ...
-
エクセルVBAでファイルを連...
-
エクセルVBA+ADOで特定のCSVフ...
おすすめ情報