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の「起動ユーザー」を使用する必要があります。許可の問題のようです。
助けてください。ありがとうございました。
ファイルエクスプローラーでファイルを右クリックし、Properties
を選択してからGeneral
タブを選択し、Unblock
ボタンをクリックします。このエラーメッセージは非常に誤解を招くものです。
レジストリエディターでこのキーに移動します(実行| Regedit)HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
キーを変更キャッシュC:\ Windows\Tempのようなものに変更
私の同様の問題はこのように解決されました。
よろしく、
リプリー
私はこれと同じ問題を抱えていましたが、サーバーマシンのメモリに関する問題はありませんでした、最後に次の手順で修正できました
3.右側の「Microsoft Excel Application」を検索します。
4.右クリックしてプロパティを開きます
5. [ID]タブで、オプションの対話型ユーザーを選択し、[Okボタンをクリックします。
もう一度確認してください。それが役に立てば幸い
[〜#〜] note [〜#〜]:しかし、「コンポーネントのCOMクラスファクトリを取得しています...」という別のCOMエラーが発生する場合があります。その場合、このユーザーにIDを設定し、十分な権限を持つユーザーのユーザー名とパスワードを入力するだけです。私の場合、パワーユーザーグループのユーザーを入力しました。
このようなテスト。時々、許可の問題。
cmd => dcomcnfg
クリック
コンポーネントサービス> Computes> My Computer> Dcom config>を選択し、micro soft Excel Applicationを選択します
Microsoft Excelアプリケーションを右クリックします
[プロパティ]> [Asp.netのアクセス許可を与える]
IDテーブルを選択>対話ユーザーを選択> OKを選択
上記のいずれも機能しない場合は、これらも試してください:
Component services >Computes >My Computer>Dcom config>Microsoft Excel Application>Properties
で、[セキュリティ]タブに移動し、3つすべてのセクションで[カスタマイズ]をクリックして、アプリケーションを実行するユーザーを追加し、ユーザーに完全な権限を付与します。
C:\Windows\Temp
に移動し、存在することを確認し、入力を求められないようにします。
私も同じシナリオに遭遇し、数回グーグルで調べた後、2つの解決策を見つけました。お役に立てれば。
方法01:
Excelでファイルを開く前に、Windowsのファイルエクスプローラーでファイルを見つけます。ファイルを右クリックして、[プロパティ]を選択します。 [全般]タブの下部にある[ブロックを解除]ボタンをクリックします。ファイルのブロックを解除すると、Windowsが記憶し、Excelが再度尋ねる必要がなくなります。このオプションは、一部のファイルタイプで使用できますが、他のファイルタイプでは使用できません。ブロック解除ボタンがない場合は、方法2を使用します。
方法02:
このオプションは、通常、ダウンロードしたExcelファイルを1つのフォルダーに保存する場合に適しています。 Excelで、[ファイル]"[オプション]"[セキュリティセンター]"[セキュリティセンターの設定]"[信頼できる場所]をクリックします。 [新しい場所を追加]をクリックします。 Excelファイルを保存するフォルダーを参照し、[この場所のサブフォルダーも信頼する]を選択して、[OK]をクリックします。