- PR -

サーバーでのエクセルのアクセスについて

1
投稿者投稿内容
wild45
会議室デビュー日: 2005/04/06
投稿数: 5
投稿日時: 2007-06-16 12:54
はじめまして。
現在以下の環境でWebページを作成しています。
このページではエクセルを出力しようとしているのですが、
エクセルファイルをオープンすると、以下のエラーが表示されてしまいます。
どなたか回避策をご存じないでしょうか?

エラー内容に含まれているように、エクセルのセキュリティに
ASPNETを追加し、フルアクセスにしたのですが、
同様のエラーが発生してしまいます。

[開発環境]
WindowsXP Professional
VisualStudio 2005
ASP.net 2.0

[エラー内容]
'/OutputExl' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

CLSID {00024500-0000-0000-C000-000000000046} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80070005。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.UnauthorizedAccessException: CLSID {00024500-0000-0000-C000-000000000046} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80070005。

この ASP.NET は、要求されたリソースへのアクセスを許可されていません。要求された ASP.NET へのリソースへアクセスを許可するかどうかを検討してください。ASP.NET プロセスには、アプリケーションに偽装が実行されていない場合は、通常、インターネット インフォメーション サーバー 5 では {コンピュータ名}\\ASPNET、インターネット インフォメーション サーバー 6 ではネットワーク サービスが使用されます。<identity impersonate="true"/> 経由でアプリケーションに偽装が実行されている場合、ユーザーは、通常 IUSR_MACHINENAME に設定された匿名ユーザーか、または認証された要求ユーザーになります。

ASP.NET にファイルへのアクセスを許可するには、エクスプローラでファイルを右クリックし、[プロパティ] を選択して、[セキュリティ] タブを選択します。[追加] をクリックして、適切なユーザーまたはグループを追加します。ASP.NET アカウントを強調表示し、希望するアクセスのボックスをチェックします。

ソース エラー:

現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。

スタック トレース:


[UnauthorizedAccessException: CLSID {00024500-0000-0000-C000-000000000046} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80070005。]
OutputExl.UserMenu.CExcelOpe.ExcelOpen() in D:\\OutputExl\\UserMenu\\CExcelOpe.cs:53
OutputExl.UserMenu.NgInput.BTN_OUTPUT_Click(Object sender, EventArgs e) in D:\\OutputExl\\UserMenu\\NgInput.aspx.cs:477
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102




--------------------------------------------------------------------------------
バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.42; ASP.NET バージョン:2.0.50727.210
turutosiya
常連さん
会議室デビュー日: 2003/06/10
投稿数: 49
お住まい・勤務地: 東京都
投稿日時: 2007-06-16 13:36
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Office のサーバーサイド オートメーションについて
http://support.microsoft.com/kb/257757/ja
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

を参考にされてみてはいかがでしょうか?

いづれにせよ、サーバサイドのOfficeオートメーションは問題がおきやすいです。
個人的には、なるべく避けたほうが良いかと思っています。
1

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