- - PR -
ASPでExcelを操作したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-12-28 18:26
ASPでExcelを操作したいのですが、エラーが表示されます。
ソースコードと、エラーメッセージは以下の通りです。 ----------------------------------------------------- <%@LANGUAGE="VBSCRIPT"%> <% on error resume next Set xl = Server.CreateObject("Excel.Application") Set wk = xl.Workbooks.Add wk.ActiveSheet.Range("A1").Value = "Sample" wk.SaveAs ("E:\Inetpub\wwwroot\Sample.xls") wk.Close False xl.Quit Set wk = Nothing Set xl = Nothing If Err.Number <> 0 Then Response.Write("エラー:" & Err.Description) End If %> ----------------------------------------------------- エラー:ファイル 'E:\Inetpub\wwwroot' にアクセスできません。次のいずれかの理由が考えられます。 ・ ファイル名またはパス名が存在しない可能性があります。・ 開こうとしているファイルは、ほかのユーザーまたはプログラムによって開かれています。ほかのプログラムで開いている場合、ファイルを閉じた後、もう一度実行してください。・ 保存しようとしているファイルと同じ名前のファイルが、既に読み取り専用のファイルとして保存されています。別の名前で保存してみてください。 ----------------------------------------------------- C:\には、書き込めるのですが、E:\に書き込めないようです。 同じ様な経験をされた方がいたら、御教授よろしくお願いします。 環境:IIS,XP,basp21 | ||||
|
投稿日時: 2005-12-28 19:52
認証は?
匿名なら匿名でしようされる Account Windows 認証ならその Account に対する NTFS ACL を確認しましょう。 | ||||
|
投稿日時: 2005-12-29 09:38
EドライブのEveryoneにフルコントロールの設定をしたところ動作しました。
ありがとうございました。 セキュリティの面で心配はありますが、これから勉強していきたいと思います。 | ||||
|
投稿日時: 2005-12-30 21:45
Drive 全体に Everyone Full Control は必要ないでしょう。 wwwroot 配下に Tempolary 専用の Directory を作ってやって、 そこを 匿名(推測ですが・・・) の書き込み許可するように構成してやればいいでしょう。 # 必要なところだけに許可してやるというのが、Security の鉄則ですね。 それから、私が設計するならそもそも ASP から 匿名で直接書き込ませるような設計はしません。 COM+ を使用して偽装し、最低限別の User で書き込ませるような 構成をとるでしょうね。 ご参考までに・・・ |
1