プロが教えるわが家の防犯対策術!

拡張子がなくても、Excelのファイルはダブルクリックで開きます。
それはなぜですか。


詳しく述べます。

エクスプローラ(またはデスクトップ)上に、テキストファイル(拡張子txt)があります。
このファイルの拡張子を外します。(~~.txt → ~~)
このとき、
「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」
と訊いてくるので、「はい」をクリックすると、ファイルのアイコンはウィンドウズのマーク(旗みたいなもの)になります。
これは、拡張子がなくなったために、アイコンとの関連付けがなくなったからだと思います。
このファイルをダブルクリックすると、「ファイルを開くアプリケーションの選択」というウィンドウが立ち上がります。
拡張子がないから、どのアプリケーションを使うのかわからないのですね。

他方、
エクスプローラ(またはデスクトップ)で、エクセルのファイルの名前の拡張子を外します。
(~~.xls → ~~)
このファイルをダブルクリックすると、エクセルが立ち上がって、ファイルが開かれます。
なぜ、エクセルの場合は、拡張子がなくても開けるのでしょうか。

ワードで作ったdocファイルでも、エクセルと同樣です。

拡張子がなくてもダブルクリックで開ける設定があるのでしょうか。

たとえ、エクセルやワードのファイルでも、txtという拡張子を付けると、テキストエディタで開く(私のPCの場合はViViというテキストエディタが設定されていますが、普通はメモ帳ですよね。)ので、拡張子がまったく無視されているわけでもないです。
(もちろん、中身は文字化けしていますけど。)


Windows98SE
Excel2000
Word2000

A 回答 (6件)

拡張子を外しても、と明記されていますので、表示設定とは無関係ですね。



Excelの「.xls」を外して、ファイルをダンプ(内容をデータレベルで覗くこと)すると「Workbook」とか「VBAProject」とかの文字が見えます。つまり、拡張子を外してもExcelファイルであるという印がファイルの一部に埋め込まれていると思えばよいと思います。

おそらく、ファイルをクリックしたタイミングなどでファイルの属性を調べているのでしょう。

この回答への補足

>拡張子を外しても、と明記されていますので、表示設定とは無関係ですね。

そうだと思います。
フォルダオプションの「表示」タブの「詳細設定」の「登録されているファイルの拡張子は表示しない」のチェックは外れていました。

>Excelの「.xls」を外して、ファイルをダンプ(内容をデータレベルで覗くこと)すると「Workbook」とか「VBAProject」とかの文字が見えます。

すみませんが、「ファイルをダンプする」というのはどのようにして行うのでしょうか。

補足日時:2003/08/23 06:09
    • good
    • 0

> ファイルの中身を解析するのは、OSではなくて、エクセルなのでしょうか。



MS-officeをインストすると、MS-officeを起動していなくても、windowsは重くなります。MS-officeのインストでOSも多く書き換えられていると思います。だから、ファイルの中身を解析するのは、ExcelをインストしたOSと言うことになるのではないでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2003/08/24 17:59

#3です。

#3は間違っていないと思いますが、質問の直接の答えは#2の方がおっしゃっている、エクセルのワークブックファイルの中にエクセルで作られたことを記した部分が埋めこまれているのだと思います。
テキストファイル保存しても、「a」付きのアイコンが出来て、そのアイコンをクリックするとエクセルが立ちあがり
ブックが開くことからも、そう思えます。
>データとプログラムが完全に分かれていない
少なくともエクセル実行中は、メモリに相当(シートデータが、少なければ全部?)読みこんで処理をしているはずです。よく判りません。エクセルファイルは記録形式とメモリ内展開形式が多分大幅に異なると思います。
ですからエクセルやワードのように汎用的な(高等?)ファイルは、それのために最高に工夫された「ファイル形式」で設計されるため、エクセルまたはその互換性ソフトでないと開けない。一般のテキストファイルのようにエディタであればどれででも開けるとはいかない。
「開ける」とはただ意味不明の内容が表示等されるので無く、作った人の意図通りに表示等することを意味する。
「ファイル構造」を特別にすると、それに合ったソフトが無いと、読みこんで表示とか何かの処理が出来ないと言う当たり前のことです。M社は自社開発ソフトだからエクセルはエクセルで開発したものと言う識別とその判別ルーチンを入れていると思うわけで、他社の分はユーザーが指定する建前です。その時ファイル1つ1つでやるのは面倒で、拡張子と言うファイル構造をまとめた記号で、関連付ければ少し汎用的になり便利と言うことです。
拡張子を変えると、ファイル構造が変るってことは無いので、拡張子を取り去ったり、変えたりの議論はすべきではないと思います。
>ファイルをダンプする」というのはどのようにして行うのでしょうか
テキストファイルならエディタで、16進で表示するならダンププログラムが、大型機やオフコンでは付いてきます。
ダンプはダンプカーのダンプで、ぶちまけると言う意味です。紙や画面にぶちまける。
プロのプログラマは、ファイルやむしろメモリダンプと言う、エラー発生した時のエラー個所や原因解析トレースのために使います。
パソコンユーザーは、マニアや開発者を除いてそこまでは
しないので、お目に掛からないと言うことでしょう。
#2さんは、開発経験のおありな方かも知れません。

この回答への補足

>テキストファイル保存しても、「a」付きのアイコンが出来て、そのアイコンをクリックするとエクセルが立ちあがり
>ブックが開くことからも、そう思えます。


ご回答でおっしゃる「テキストファイル保存」とは、
「ファイル名を付けて保存」ダイアログボックスの「ファイルの種類」で、
テキスト(タブ区切り)(*.txt)
を選擇して保存することだと思います。

このとき、「互換性のない機能が含まれている可能性があります。この形式でブックを保存しますか?」などと言ってきますが、かまわず「はい」をクリックすると、
拡張子がtxtのファイル名で保存されます。

このとき、私のPCでは、テキストエディタのアイコンになります。
(私のPCでは、ViViというテキストエディタに設定されているので、ViViのアイコンになります。
正確に言えば、「アイコンが何であるか」と「ダブルクリックしたときに何が立ち上がるのか」は別問題ですが、
普通、ダブルクリックで立ち上がるアプリケーションに関係あるアイコンになっていると思います。)

そして、このtxtのファイルをダブルクリックすると、テキストエディタが立ち上がります。

ご回答では、
>「a」付きのアイコンが出来て、そのアイコンをクリックするとエクセルが立ちあがり
とおっしゃるのですから、私のPCとは動作が違います。

それは単に設定の問題でしょうか。


>M社は自社開発ソフトだからエクセルはエクセルで開発したものと言う識別とその判別ルーチンを入れていると思うわけで、

これは、なるほどその通りだと思いました。

補足日時:2003/08/23 14:02
    • good
    • 0

恐らくですが、


エクセルがファイルの中身を
解析しているからでしょうか?

あまりよくは知らないんですが、
エクセルとかも昔からあって
恐らくデーターの収納フォーマットが
微妙に違うからわざわざ
(拡張子がある無しにかかわらず)
解析しているのではないのでしょうか?

この回答への補足

>エクセルがファイルの中身を
>解析しているからでしょうか?

ファイルの中身を解析するのは、OSではなくて、エクセルなのでしょうか。
そこのところを詳しくご教授いただけないでしょうか。

補足日時:2003/08/23 06:56
    • good
    • 0

プログラム(EXE、COM)とデータと混同して考えていませんか。

データの場合は、それを読んで表示するなり印刷するなりの、別のソフトに噛ませますが、実行できる形式を
備えたプログラム(WINDOWなりのOSに形式を依存する)はアイコンをクリックしたとしても、名前でLOADERが呼び出す仕組みを作れば、実行権をそれに与えると、後は自動実行されるはずです。データはどれを扱うかは、ファイル選択で聞くことにして、そのプログラムの中に組みこまれています。エクセルは突き詰めると、エクセル形式ファイルのVIEWERであると言う説があります。しかしあえてエクセルのオブジェクトプログラムを特殊な目的で、データとして扱うなら、エディタのようなものが必要です。
その時は何を使うか指定が要るか、Defaultで何か
を決められていないとなりません。
またエクセルの場合はプログラム部分とデータ部分が
どうなっているかはわたしのようなものには、判りません
が。昔はプログラムとデータがはっきりわかれていました。しかし今はオブジェクト指向方式で、データ構造の部分とメソッドの部分を一体化して処理しているようなので
上記も旧い考えかもしれません。
上記で何か得るものがあれば幸いです。

この回答への補足

ご回答を何度も讀みました。
つまり、こういうことでしょうか。


・テキストファイル(txtファイル)の場合
データとプログラムが完全に分かれている。データのファイル(txtという拡張子の付いたファイル)をダブルクリックするとOSは、txtという拡張子を見て、この拡張子に関連付けられているテキストエディタ(メモ帳など)を立ち上げて、データを讀み込ませる。

・エクセル場合
データとプログラムが完全に分かれていないらしい。

拡張子が付いているファイルをダブルクリックすると、その拡張子を見て、拡張子に関連付けられているプログラムを立ち上げる。しかし、拡張子がない場合、OSはファイルの中を見て、立ち上げるプログラムを決める。(拡張子が付いていても、関連付けられているプログラムがない場合も同じ。)

エクセルの場合には、ファイルの中に、「このファイルはエクセルのファイルだ」という情報が書かれている。(この意味で、データとプログラムが完全に分かれていない。)

補足日時:2003/08/23 06:44
    • good
    • 0

それは、登録されているファイルの拡張子が表示されない設定になっているからです。


フォルダーのプロパティーで設定変更できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!