SharePoint に登録したエクセルが開けない「が見つかりません。」
実のところ SharePoint ではなく Excel2003 の問題ぽいですが。ユーザから問合せが入り、対応に四苦八苦しましたので掲載しておきます。
SharePoint のドキュメントライブラリに登録された、エクセルを開こうとすると、以下のようなエラーダイアログが表示され、ファイルを開くことができません。
‘xxxxxxxx.xls’ が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。
xxxxxxxx の部分は、開こうとする都度、変わります。
ちなみに、同じファイルを Excel2007 で開こうとするとこうなります。
ブックの回復を行うと、ファイルを開くことができますが、書式設定が失われます。
「いいえ」だとやはり開けません。
そして、このファイルを、ローカルにダウンロードした場合。
何故か普通に開けるのです…。
ローカルで開き、ツール→オプション→全般→他のアプリケーションを無視する にチェックを入れると、サーバ上でも開けるようになるのですが、今度はローカルで普通のエクセルファイルが開けなくなりました orz
参考:パソコントラブルQ&A◇ エクセルのファイルが開かない
これは駄目だ、と別の手段を模索。
そもそも、このファイルの由来は?
ユーザに確認したところ、社内のあるシステムから出力(ダウンロード)した CSV ファイルを、保存時に拡張子を .csv から .xls に書換えてエクセルファイルにした後、編集(色付けとか)を行って、SharePoint にアップロードしているそうです。
うわ、この辺りが酷く怪しい…。
試しに、エラーしているファイルをローカルにダウンロードして、全選択→色「自動」に設定して保存した後、再度アップロードしたところ、普通に開くようになりました。
このことから、次のように推測されます。
CSV を、拡張子変更で強制的に XLS に変換した際、内部的には CSV 形式でデータが保存されたまま、エクセル形式としてエクセルに認識されているのではないかと。
この状態で、色設定など「本来 CSV に無い機能」を使って保存すると、内部的には「CSV だが CSV では認識できない情報を含む」矛盾した状態になります。
ローカルPCでファイルを開いている場合には、エクセルがこの矛盾を吸収してくれているので、普通に扱えているのではないでしょうか。
しかし、SharePoint 上のファイルを開く場合、恐らく…
1.ファイルをランダムの英字名でローカルの一時領域にダウンロード。
2.この時点では、ファイル形式は CSV として認識されている。
3.一時ファイルを、エクセルが「CSVとして」開こうとしてしまうため、データの解釈ができず、エラーになる。
─ということではないかと。
推論に過ぎませんが。
いずれにしても「一度 CSV として保存した後、改めてエクセル形式で保存しなおす」ことで、この障害の再発は防げると思われましたので、ユーザにはその旨をお伝えしました。
別に SharePoint でなくても、ネットワーク上のファイルサーバなら、どこでも再現するような気がしますね。
login