- PR -

ASPでExcelを操作したい

1
投稿者投稿内容
serita
会議室デビュー日: 2005/12/28
投稿数: 2
投稿日時: 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
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-12-28 19:52
認証は?

匿名なら匿名でしようされる Account
Windows 認証ならその Account に対する NTFS ACL を確認しましょう。
serita
会議室デビュー日: 2005/12/28
投稿数: 2
投稿日時: 2005-12-29 09:38
EドライブのEveryoneにフルコントロールの設定をしたところ動作しました。
ありがとうございました。
セキュリティの面で心配はありますが、これから勉強していきたいと思います。

ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-12-30 21:45
引用:

seritaさんの書き込み (2005-12-29 09:38) より:
EドライブのEveryoneにフルコントロールの設定をしたところ動作しました。
ありがとうございました。
セキュリティの面で心配はありますが、これから勉強していきたいと思います。



Drive 全体に Everyone Full Control は必要ないでしょう。

wwwroot 配下に Tempolary 専用の Directory を作ってやって、
そこを 匿名(推測ですが・・・) の書き込み許可するように構成してやればいいでしょう。
# 必要なところだけに許可してやるというのが、Security の鉄則ですね。

それから、私が設計するならそもそも ASP から
匿名で直接書き込ませるような設計はしません。
COM+ を使用して偽装し、最低限別の User で書き込ませるような
構成をとるでしょうね。

ご参考までに・・・
1

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