1

Web サービスが .net Web サービスを介して実際に MS Word 文書を開こうとすると、以下のエラーが発生します。Visual Studio で Web サービスを実行すると正常に動作しますが、IIS 7 に Web サービスを展開するとエラーが発生します

Retrieving the COM class factory for component with CLSID 
{000209FF-0000-0000C000-000000000046} failed due to the following error: 80070005
Access is Denied

次の行で。

Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop. Word.Application();
Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();

このコードはサーバー側で記述しました。Word ドキュメント テンプレートを開き、いくつかの値を見つけて置き換え、別の名前で保存する必要があります。

私は 64 ビット システムと Office 2007 を使用しています。

4

1 に答える 1

4

このエラーが発生したばかりで、サーバーの DCOM 構成のアクセス許可を調整することで解決しました。

  1. [スタート] -> [ファイル名を指定して実行] -> [dcomcnfg] をクリックします。
  2. コンポーネント サービス -> コンピューター -> [マイ コンピューター] を右クリック -> [プロパティ] を展開します。
  3. [COM セキュリティ] タブで、[起動とアクティブ化のアクセス許可] の下にある [デフォルトの編集] をクリックします。
  4. ネットワーク サービスと IIS_IUSRS の両方をローカル起動とローカル アクティベーションで追加します

これには再起動は必要ありません。アプリ プールが別のユーザーで実行されている場合は、代わりにそのユーザーを追加します。

于 2012-12-13T17:20:13.483 に答える