• ベストアンサー

window.open でExcelファイルを開く

window.openでブラウザからExcelファイルを開いています。 function test(){  window.open('test.xls',null); } IE6+XPですとExcelファイルのみが開いてくれるのですが、IE7.0+Vistaでは空のIEウィンドウも一緒に開いてしまいます。 window.openを使いつつ、空ウィンドウが開かないようにする良い方法は無いでしょうか。 IE6でもIE7でも同じようにExcelファイルが開けることが理想です。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_netbug
  • ベストアンサー率34% (15/44)
回答No.3

location.href = "file://パス+ファイル名.xls"; だとIE7ではどのように動作しますか? IE7は不安定なので入れてないので検証していないので何とも言えませんが、 条件付きコメントと組み合わせて作れそうな気がします。 http://questionbox.jp.msn.com/qa2298397.html?StatusCheck=ON

参考URL:
http://www.keynavi.net/ja/bugh/comments.html
mt2008
質問者

お礼

回答ありがとうございました。 他人の作ったプログラムをIE7にも対応させる必要があり、なるべく手を加えたくない為にこの場を借りて質問させていただきました。 結局、window.openのままでは駄目そうでしたので、IE7の場合はlocation.hrefで開くことでお茶を濁そうと思います。

mt2008
質問者

補足

location.href の場合、IE7ではExcelが起動してファイルを開きます。 ちょうどIE6でwindow.openでExcelファイルを起動したのと同じようになります。 現在は、t_netbugさんの仰る様に、navigator.appVersionでブラウザ情報を取得し、IE6はwindow.open、IE7はlocation.hrefと使い分けることで逃げているのですが、もっとスマートな方法はないかと思いまして質問させて頂いた次第です。 #参考URL非常に参考になりました。

その他の回答 (2)

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.2

WSHとかFileSystmObjectとかヒントになるのかも。

mt2008
質問者

お礼

回答ありがとうございました。 他人の作ったプログラムをIE7にも対応させる必要があり、なるべく手を加えたくない為にこの場を借りて質問させていただきました。 結局、window.openのままでは駄目そうでしたので、IE7の場合はlocation.hrefで開くことでお茶を濁そうと思います。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

vbscriptで開くのが妥当では?

mt2008
質問者

お礼

回答ありがとうございました。 他人の作ったプログラムをIE7にも対応させる必要があり、なるべく手を加えたくない為にこの場を借りて質問させていただきました。 結局、window.openのままでは駄目そうでしたので、IE7の場合はlocation.hrefで開くことでお茶を濁そうと思います。