- PR -

別アプリケーションの起動

1
投稿者投稿内容
常連さん
会議室デビュー日: 2004/05/17
投稿数: 23
投稿日時: 2004-05-17 20:29
現在JSPでファイルのリンクを作成したいと思っています。

<netui:anchor href="http://IP/test/test.xls" >エクセル</netui:anchor>
上記のようにアンカーでリンクを張るとIE内でエクセルが起動してしまいます。
出来れば、別にエクセルを起動し、ファイルを開きたいのですが、調べても方法がわかりません。
もし、よい解決方法を知っている方がいらっしゃいましたら、ご伝授下さい。
よろしくお願いします。
syousuke
会議室デビュー日: 2002/09/27
投稿数: 19
投稿日時: 2004-05-17 21:05
新しいウインドウを開きたいということでしょうか?

1.JavaScriptで新しいウインドウを作成する
2.hrefの指定で、targetを"_new"にし新しいウインドウを作成する

という方法が考えられます。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-05-17 21:17
<a>タグで直接ファイルにリンクを張った場合だと、どういう風に開くかはWebサーバや
ブラウザの実装や設定の問題で、プログラムでどうこうできる問題ではない(はず)です。

どうしてもやりたいのなら、一旦ExcelファイルをStreamとして読み込み、適切なHTTP
ヘッダーを指定した上でクライアントへ送るようなServletを自作するしかないのでは?
それでも、IEで開くのが防げるだけで、いきなりExcelが起動するのは無理かも。

# 実際、Excelファイルを直接IEで開かせず、「ファイルとして保存」の
# ダイアログを表示させるServletは作ったことがあります。
常連さん
会議室デビュー日: 2004/05/17
投稿数: 23
投稿日時: 2004-05-17 21:41
ご返信ありがとうございます。
VBではアプリケーションを生成してそこにファイルを渡すというような事が出来たので同じようにアプリケーションを生成して。。。という風に出来るかと思ったのですが。。

syousukeさんのやり方ですとエクセルが起動するわけではなくIE上でという事になるのでしょうか?

syousuke
会議室デビュー日: 2002/09/27
投稿数: 19
投稿日時: 2004-05-17 22:23
JavaScriptや<a>タグでのEXCEL動作は、Clusterさんがおっしゃるようにブラウザ依存&クライアントの設定依存となります。

IEの場合、たぶん通常の動作では、IE内に開かれると思われます。
本当のEXCELで開きたい場合、

1.自作ActiveXにてゴリゴリやる
2.使用するクライアントの設定にて
 「エクスプローラ」→「ツール」→「フォルダオプション」→「ファイルの種類」→「拡張子:XLS、ファイルの種類:Microsoft Excel ワークシート」→「詳細設定」→「同じウンイドウで開く」のチェックをはずしておく。

という2つの方法が考えられます。
ただクライアントが限定されるという観点から、お勧めはしませんが。。。
常連さん
会議室デビュー日: 2004/05/17
投稿数: 23
投稿日時: 2004-05-18 10:55
ご教授ありがとうございました。
とりあえず エクセルを別起動するのはあきらめて、IE内で表示という風にしました。
大変参考になりました。
ありがとうございました。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-05-18 20:51
引用:

上記のようにアンカーでリンクを張るとIE内でエクセルが起動してしまいます。


それは(どのバージョンからかは忘れましたが)マイクロソフトの売りの一つです。

昔はファイルを保存しますか? そのまま開きますか? ってな感じで、
開くとローカルのExcelが起動されてました。というかそれしかできませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)