次の呼び出しから
Marshal.GetActiveObject("Excel.Application")
私は得る
操作を利用できません (HRESULT からの例外: 0x800401E3 (MK_E_UNAVAILABLE))
このエラーは、アプリケーションと Excel の間のユーザー権限が一致しない場合に発生すると考えられます。
Excel をどのように開いているかに関係なく、開いている Excel アプリケーションにアクセスする方法に関する回避策があるかどうかを知りたいです。Excel にアクセスしたいプログラムを管理者として開くことができます。
また、どのアクセス許可プロセスが開かれたかを知る方法を知りたいですか? 私は ProcessExplorer を使用して UserProfile (両方のアプリケーションで同じ) と所有者 (同じ BUILTIN\Administrators でした) を調べています。
背景 NUnit-console-x86 を呼び出してさまざまなテストを実行するプログラムがあります。テストされているアプリケーションは、Excel フォームを開きます。これは、データを読み取るフォームです。また、管理者としてプログラムを実行すると、これらのエラーが発生するかどうかにかかわらず、Process.StartInfo.Verb = "runas"; を追加しようとしました。NUnitを起動するプログラムにアクセスしますが、それでもこれらのエラーが発生します
すべてのコンピューターに Visual Studio をインストールする必要はありませんが、Visual Studio をインストールすると問題が解決するようです。誰かが私にこれを説明できますか?