web-dev-qa-db-ja.com

「Microsoft Excelはこれ以上ドキュメントを開くことも保存することもできない」の修正方法

Windows 7 64ビット上でIIS 7.5を使用してC#ASP.NET 4.5 Webアプリケーションを実行しています。使用するアプリケーションプールの名前は 'ASP.NET v4.0'で、そのIDはApplicationPoolIdentityです。アプリケーションは、MS Office Interop(Microsoft Excel 14.0 Object Library)を使用します。

wBook = wBooks.Add(Missing.Value);行では、次のエラーがスローされます。

使用可能なメモリまたはディスク領域が十分でないため、Microsoft Excelはドキュメントを開いたり保存したりできません。

u2022使用可能なメモリを増やすには、不要になったワークブックまたはプログラムを閉じます。

u2022ディスク領域を解放するには、保存するディスクから不要になったファイルを削除します。:Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template)

1)アカウントにIIS apppool\ASP.NET v4.0 DCOM ConfigのMS Excelアプリケーションのフルコントロールを与えました。

2)私はIIS apppool\ASP.NET v4.0を 'C:\ Windows\SysWOW64\config\systemprofile'にフルコントロールし、その中にデスクトップフォルダーを作成しました。

3)推奨されませんが、Interopを引き続き使用する必要があります。

4)アプリケーションは、Windows Server 2003/Windows XP 32-bit。

5)MS Office 2010(64ビット、試用版)がマシンにインストールされます。

6)アプリを変更したくない。 ApplicationPoolIdentityからNetwork ServiceなどへのプールID。ApplicationPoolIdentityは、IIS 7の新しいタイプのIdentityであり、推奨されています。

DCOM Configで「Interactive User」(管理者としてログインしている)を選択すると正常に機能しますが、他の問題が発生します。 ASP.NET v4.0の「起動ユーザー」を使用する必要があります。許可の問題のようです。

助けてください。ありがとうございました。

20
engg

ファイルエクスプローラーでファイルを右クリックし、Propertiesを選択してからGeneralタブを選択し、Unblockボタンをクリックします。このエラーメッセージは非常に誤解を招くものです。

36
Tony_Henrich

レジストリエディターでこのキーに移動します(実行| Regedit)HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

キーを変更キャッシュC:\ Windows\Tempのようなものに変更

私の同様の問題はこのように解決されました。

よろしく、

リプリー

14
Ripley

私はこれと同じ問題を抱えていましたが、サーバーマシンのメモリに関する問題はありませんでした、最後に次の手順で修正できました

  1. サーバーをホストしているアプリケーションで、その「コンポーネントサービス」に移動します
  2. enter image description here

3.右側の「Microsoft Excel Application」を検索します。

4.右クリックしてプロパティを開きます

5. [ID]タブで、オプションの対話型ユーザーを選択し、[Okボタンをクリックします。

もう一度確認してください。それが役に立てば幸い

[〜#〜] note [〜#〜]:しかし、「コンポーネントのCOMクラスファクトリを取得しています...」という別のCOMエラーが発生する場合があります。その場合、このユーザーにIDを設定し、十分な権限を持つユーザーのユーザー名とパスワードを入力するだけです。私の場合、パワーユーザーグループのユーザーを入力しました。

5
Nithin Paul

このようなテスト。時々、許可の問題。

cmd => dcomcnfg

クリック

コンポーネントサービス> Computes> My Computer> Dcom config>を選択し、micro soft Excel Applicationを選択します

Microsoft Excelアプリケーションを右クリックします

[プロパティ]> [Asp.netのアクセス許可を与える]

IDテーブルを選択>対話ユーザーを選択> OKを選択

5

上記のいずれも機能しない場合は、これらも試してください:

  • Component services >Computes >My Computer>Dcom config>Microsoft Excel Application>Propertiesで、[セキュリティ]タブに移動し、3つすべてのセクションで[カスタマイズ]をクリックして、アプリケーションを実行するユーザーを追加し、ユーザーに完全な権限を付与します。

  • C:\Windows\Tempに移動し、存在することを確認し、入力を求められないようにします。

0
LoMaPh

私も同じシナリオに遭遇し、数回グーグルで調べた後、2つの解決策を見つけました。お役に立てれば。

方法01:

Excelでファイルを開く前に、Windowsのファイルエクスプローラーでファイルを見つけます。ファイルを右クリックして、[プロパティ]を選択します。 [全般]タブの下部にある[ブロックを解除]ボタンをクリックします。ファイルのブロックを解除すると、Windowsが記憶し、Excelが再度尋ねる必要がなくなります。このオプションは、一部のファイルタイプで使用できますが、他のファイルタイプでは使用できません。ブロック解除ボタンがない場合は、方法2を使用します。

方法02:

このオプションは、通常、ダウンロードしたExcelファイルを1つのフォルダーに保存する場合に適しています。 Excelで、[ファイル]"[オプション]"[セキュリティセンター]"[セキュリティセンターの設定]"[信頼できる場所]をクリックします。 [新しい場所を追加]をクリックします。 Excelファイルを保存するフォルダーを参照し、[この場所のサブフォルダーも信頼する]を選択して、[OK]をクリックします。

0
Dulith De Costa