- PR -

ASP2.0.netでCOMコンポーネントが使用できない

1
投稿者投稿内容
鷹ひろ
会議室デビュー日: 2007/06/07
投稿数: 2
投稿日時: 2007-06-07 17:25
いつもお世話になっております。

開発OS:WINDOWS XP PROFESSIONAL SP2
開発ツール:Visual Web Debeloper 2005 Express Edition
IIS:IIS5.1(開発OS上)
OFFICE:OFFICE 2003 PROFESSIONAL SP2
を使用して、webサーバからExcelを編集するというアプリを
開発しようとしています。

構成はDefault.aspxにボタンを配置し、
Default.aspx.csにボタンを押した時に、EXCELを編集するという
いたってシンプルなものです。

参照設定からMicrosoft Excel 11.0 Object Libraryを追加して、
Default.aspx.csを以下のようにしました。
--------------------------------------------------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Excel = Microsoft.Office.Interop.Excel;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Excel.Application app = new Excel.Application(); ---@
}
}
--------------------------------------------------------------
コンパイルは通るのですが、Default.aspxにブラウザを通じて
アクセスして、ボタンを押すと、しばらく動きが止まり、@の部分で、
CLSID {XXXXXXX-XXXXX-XXXX-XXXXX-XXXXXXX} を含むコンポーネントの
COM クラス ファクトリを取得中に、次のエラーが発生しました
とうエラーがブラウザ上に表示されます。

どうも権限の問題で、COMコンポーネントMicrosoft Excel 11.0 Object Library:
C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE
ファイルを使用できないようなのですが、セキュリティをeveryoneにしても
同じエラーがでしまいます。

参照元記事URLで同じような質問をしている方がいらっしゃるようですが、
解決できていないようなので、投稿させていただきました。

この問題の解決策をご存知の方は、是非ご協力下さいませ。
鷹ひろ
会議室デビュー日: 2007/06/07
投稿数: 2
投稿日時: 2007-06-07 17:45
申し訳ありません、ブラウザに表示されたエラーの内容を一部しか表示して
おりませんでした。エラーは以下の通りです。

『説明: 現在の 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 アカウントを強調表示し、希望するアクセスのボックスをチェックします。』

以上、ご協力お願いします。
1

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