@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

編集後のEXCELをうまく表示できない

投稿者投稿内容
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-12-02 09:59
いつも参考にさせていただいてます。
現在、ASP.NETでExcel帳票ツールを開発しています。
EXCELはサーバー側のEXCELを編集し、
Response.Redirect(Excelファイルのurl)
でクライアント側に表示してあげる形をとっているのですが
原因は良く分からないのですがクライアント側でEXCELが表示される前に
ユーザーとパスワードの入力を促すダイアログが表示されてしまいます。
多分サーバー側に置かれたEXCELファイルをクライアント側に表示させるためにこのような現象
が発生していると思うのですが、対処法が分かりません。
どなたか同じ現象が起きたことがある方、もしくは解決策をご存知の方、
ご教授願います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-02 10:57
 回答ではありません。

 それって、ファイル名をどうしていますか?サーバコードで編集して、ユーザに見せるんですよね?複数の人が同時にアクセスすると、どうなります?


 あと、ユーザ名/パスワードの入力は、「\\Server\Public\Excel.xls」とかではなく、「HTTP://Server/Application/Excel.xls」にしてやれば、つまり「同じところへ移動している」ことにすれば、聞いてこないと思いますよ。
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-12-02 11:31
Jittaさん、返答ありがとうございます。
私の説明がわかりずらかったので
とりあえず今はこんな感じでロジックを組んでいます。

*******************************************************************
Dim strScript As String

strScript = strScript & "<Script Language='JavaScript'>"
strScript = strScript & "window.open("
strScript = strScript & "'../UserFile/フォルダ名/ファイル名.xls',"
strScript = strScript & " 'self','resizable=yes,toolbar=yes,
directories = yes,menubar = yes');"
strScript = strScript & "</script>"

Response.Write(strScript)
*******************************************************************

このようにクライアント側に飛ばしています。
"UserFile"は仮想ディレクトリです。
運用上、複数のユーザーが同じファイルにアクセスすることはありません。
それとJittaさんの投稿で

引用-----------------------------------------------

ファイル名をどうしていますか?

---------------------------------------------------

この意味が良く分からないんです。
上記のようにファイル名を指定して表示するように処理している、では答えになっていませんでしょうか?


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-02 11:52
引用:

ななさんの書き込み (2003-12-02 11:31) より:

*******************************************************************
strScript = strScript & "'../UserFile/フォルダ名/ファイル名.xls',"
*******************************************************************

"UserFile"は仮想ディレクトリです。
運用上、複数のユーザーが同じファイルにアクセスすることはありません。


 では、そのファイル、およびフォルダのアクセス権はどうなっていますか?Webアプリケーションの設定によりますが、Webアプリケーションへのアクセスは「匿名ユーザ」になっていませんか?匿名ユーザに対してアクセス権が設定されていないのではないでしょうか。


引用:

引用-----------------------------------------------
ファイル名をどうしていますか?
---------------------------------------------------

この意味が良く分からないんです。


 複数のユーザにアクセスされるとまずい、という意味です。誰かが「表示」中に、誰かが「更新」する可能性を指摘したのですが、運用上あり得ないなら、気にしないでください。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2003-12-02 11:55
ななさん、こんにちは。

引用:

strScript = strScript & "<Script Language='JavaScript'>"
strScript = strScript & "window.open("
strScript = strScript & "'../UserFile/フォルダ名/ファイル名.xls',"
strScript = strScript & " 'self','resizable=yes,toolbar=yes,
directories = yes,menubar = yes');"
strScript = strScript & "</script>"


本筋とは関係ありませんが、これって、
<A href="...." target="new" >
とかでも良いような...。何か違うのかな?

引用:

"UserFile"は仮想ディレクトリです。
運用上、複数のユーザーが同じファイルにアクセスすることはありません。


では、そのExcelファイルの出力先ディレクトリのアクセス許可(NTFSのアクセス許可とIISのセキュリティ設定)とかどうなってます?
あと、生成されたファイルそのもののアクセス許可と、念のため、ブックの共有とか保護とかに関する設定も確認してみて下さい。

【追記】
案の定、Jitta さんとカブってしまった...。


[ メッセージ編集済み 編集者: きくちゃん 編集日時 2003-12-02 11:56 ]
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-12-15 21:26
Jittaさん、きくちゃんさん投稿ありがとうございます。
そして返答が遅れて申し訳ありませんでした。
自分でもいろいろ設定を変えてみたのですがやっぱりダイアログは表示されてしまいます。
現在の状況は匿名アクセスにチェックはついています。
そこから生成されるファイルにも同様にチェックはついています。
でも認証済みアクセスの部分にはどこにもチェックがついていません。
それが原因なのでしょうか?


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-16 08:21
 うちであった例ですが。。。
その「マシンのログイン」を、「マシンのローカルユーザ」で行っていませんか?

 ん〜、“字”だけで説明するのは難しいぞ?!

 とりあえず、ログオフします。そして、ALT+CTRL+DELします。すると、「ユーザ名」と「パスワード」を入力するウインドウがでますが、そのウインドウに「オプション」か何かのボタンがあるので、それをクリックします。すると、「ドメイン」を選択する欄が出てきます。この「ドメイン」が、「ローカルコンピュータ」とか「このコンピュータ」とかになっていませんか?そうなっていると、「ドメイン」の「ユーザ」とそのユーザの「パスワード」を入力するよう聞いてきます。ここでサーバが信頼するドメインを選択しておくと、入力の必要はなくなる・・・と思います。
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-12-16 09:57
Jittaさん返答ありがとうございます。
とりあえずサーバーではなく自分のマシンのはどうなっているのかなぁと
思い、ログオフをしてオプションボタンをクリックするところまでは
行ったのですがクリックしてもなにも起こりません。
サーバーでしか見れないなんてことはないですよね?
ほかにドメインを調べる方法はありますか?
無知で本当に申し訳ありません。

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