- - PR -
xmlスプレッドシート形式のファイルが開けない
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-03-03 19:58
失礼しました。 事前バインディングで試しているのはわかっていたのですが、OpenXML メソッドと '併用' してダメだったのか確認したかったのでした。 事前バインディング + OpenXML メソッドでもダメだったのであれば、そもそも Excel 12.0 に対応している形式なのか疑いたくなりますね。 拡張子を .xml にしてエクスプローラから EXCEL.EXE の関連起動で正しく起動できるかを確認してみて頂けますか? これで開けなければそもそも無理だということになります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2009-03-03 20:53
じゃんぬねっとさん、ありがとうごさいます。
拡張子と中身が不一致、というメッセージが出るだけで開くことができます… ということで、今回はあきらめることにします… 皆様のシステムではxmlスプレッドシート形式のファイルを読み込むことが ないんですね…ググってみても、同じエラーが出てこないんです。 ありがとうございました。 | ||||||||
|
投稿日時: 2009-03-03 22:33
Excel 2003 で作成したファイルを、Excel 2007 で読み込もうとしている、、、のでしょうか? ファイルをテキスト エディタで開いて、1行目2行目あたりに、Excel のバージョンを特定するような要素が含まれていないか、確認してみてください。 あと、Open メソッドの引数に、なにか互換性に関するフラグがあったりしませんかね? | ||||||||
|
投稿日時: 2009-03-04 09:10
Jittaさん、ありがとうございます。
作成ファイルはExcel2003かどうかはわかりませんが、Excel2007で読み込もうとしています。 Openメソッドの引数、調べてみます。 テキストエディタで開いたところ、バージョンを示すようなものは見当たりませんでした。
[ メッセージ編集済み 編集者: まなか 編集日時 2009-03-04 09:49 ] | ||||||||
|
投稿日時: 2009-03-04 11:47
参考までに、いろいろ試してみました。
ファイルはOffice2007から2003スプレッド形式(xml)で出力しました。 C:\Book1.xml (パターン毎に拡張子のみを変更しています) <環境1.WinXP> A.Excel2007 にドロップして直接開いた場合 Book1.xmlの場合→警告なく正常に開く Book1.xlsに拡張子を変更した場合→拡張子が違う旨の警告がでる B.Excel2007 のマクロエディタのイミディエイトウィンドウで以下を実行 Application.Workbooks.Open("C:\Book1.xml") →警告なく正常に開く > 拡張子を変更 Application.Workbooks.Open("C:\Book1.xls") →警告なく正常に開く Application.Workbooks.Open("C:\Book1.xl") →警告なく正常に開く C.Windows アプリケーション(.NET 2.0)で事前バインディングで実行
"C:\Book1.xml" →警告なく正常に開く > 拡張子を変更 "C:\Book1.xls" →警告なく正常に開く "C:\Book1.xl" →警告なく正常に開く <環境2.Win2003 Enterprise R2 SP2> XP環境と同様の結果 となりました。 なお、Excel.ApplicationオブジェクトのVisibleをOpen前でtrueにしても結果は同じでした。 また、windows2003とOffice2007の設定はインストール直後の状態から特に変更していません。 まなかさんとの違いと言えば、ASP.NETアプリケーションかどうかでしょうか。 | ||||||||
|
投稿日時: 2009-03-04 12:11
デューンさん、検証までありがとうございます。
2003Serverのせいではないかと思うことにします… |