• 締切済み

元拡張子の取得

元の拡張子が*.txtだったものを*.xlsなどに変えてしまった時に元の拡張子を取得することは可能でしょうか? 下のものを使ってできるかと思ったのですが無理でしたので、教えていただけないでしょうか。 SPDocumentConverter http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.administration.spdocumentconverter.convertfrom.aspx 出来ない場合、フォルダなどに入れたとき、ファイルを読み込み正常に開かれない(拡張子を変えているため)場合 そのファイルをはじくようにしたいのですがどうすればよいでしょうか? 長くなって申し訳ありませんがよろしくお願いします。 VBは2005を使っています。

みんなの回答

  • KDASH-XP
  • ベストアンサー率45% (62/135)
回答No.1

基本的にプログラムでファイルを処理する場合、拡張子でファイルの種類を判断するのではなく、ファイルの先頭にあるヘッダなどを読み込んで種類を判断します。 とは言っても、なかなかExcelなどのファイル形式のヘッダ仕様なんか把握できるものではないかと思います。 そこで .NETの機能でサポートされているファイル形式の読み込みとかをしているのであれば、とりあえず読み込んでしまって、エラーが発生した場合だけ、そのエラーを調べるといった方法が一般的だと思います。 (詳細は忘れましたが) 画像処理系のライブラリで、拡張子を.jpgとかに変換した(内容がテキスト)ファイルを開こうとすると、こういった種類のエラーが出ます。 エラー情報の中にファイル形式が不正である旨が含まれていると思うので、そのエラーが発生したら、そのファイルはスキップする...ような処理になるかなと思います。 話が前後しますが、ファイルの一部だけ読み出しして、ファイルの正常性を判断するのは結構難しいかなと思います。 Windowsのフリーソフトなんかで、ファイルの拡張子を判断するようなプログラムがありますが、あれをDLLとしてプログラムから呼び出しとかできれば簡単に判断できそうですが...。

saido7
質問者

お礼

返答のほうが遅れて申し訳ありません。 さっそく試してみたのですがうまくいかないようなので、またいろいろ試してみたいと思います。 一応、思い出されたでよいのでエラーを調べる方法などが分かれば教えていただければありがたいです。 長くなりましたが、ありがとうございました。

関連するQ&A

専門家に質問してみよう