Microsoft コミュニティの以下のスレッドでも回答していますが、
「ユーザーがログオンしているかどうかにかかわらず実行する」での Office のオートメーション操作は「サーバーサイド オートメーション」の該当するので、正常な動作が保証されません。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
現在、Visual Studioの .NETを使用してexcelのマクロを自動で実行するアプリケーションを作成し、それをタスクスケジューラでユーザーがログインしていない状態でも毎日指定の時刻に実行しようとしています。 現状、実行ユーザーを管理者権限のあるユーザーにすれば、ユーザーがログインしていない状態でも実行されるのですが、標準ユーザーにすると、以下のようなエラーが表示されます。 Description: The process was terminated due to an unhandled exception. Exception Info: System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 アクセスが拒否されました。 (0x80070005 (E_ACCESSDENIED)). .NET側ではCOM参照でエクセルを実行しており、マクロの実行の前のエクセルの起動プロセスでエラーとなっているようです。 Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 試したケースは以下になります 管理者権限ユーザー + ユーザーがログオンしている時に実行する OK 管理者権限ユーザー + ユーザーがログオンしているかどうかにかかわらず実行する OK 標準ユーザー + ユーザーがログオンしている時に実行する OK 標準ユーザー + ユーザーがログオンしているかどうかにかかわらず実行する NG ユーザーがログオンしている時に実行するモードとユーザーがログオンしているかどうかにかかわらず実行するモードでCOMへのアクセス権限に差異があるということでしょうか・・・ 標準ユーザー + ユーザーがログオンしているかどうかにかかわらず実行するケースで実行できるようにしたいのですが、どなたか回避策、原因などわかる方いらっしゃいましたらご回答いただけますと幸いです。。
Microsoft コミュニティの以下のスレッドでも回答していますが、
「ユーザーがログオンしているかどうかにかかわらず実行する」での Office のオートメーション操作は「サーバーサイド オートメーション」の該当するので、正常な動作が保証されません。
井上 陽介さん、こんにちは。フォーラムオペレーターのRainaです。
Microsoft Q&A フォーラムにご投稿くださいましてありがとうございます。
標準ユーザー+ユーザーがログインしていない状態でアプリケーションを実行する場合は、ExcelのCOM オブジェクトを操作するために必要なアクセス許可が不足している可能性があります。これは、COM オブジェクトが現在のユーザーのプロファイルと環境に依存することが多く、非対話型セッションでは使用できない可能性があるためです。
どうぞよろしくお願いします。
---参考になった投稿には「回答を承認する」と投票をご設定ください。さらに質問がある場合は、「コメント」を追加してください。 注意:Q&Aからメール通知を受け取りたい場合には、ドキュメントの手順に基づいて、メール通知を有効にしてください。 Regards, Raina