从以下电话
Marshal.GetActiveObject("Excel.Application")
Run Code Online (Sandbox Code Playgroud)
我得到了
操作不可用(HRESULT异常:0x800401E3(MK_E_UNAVAILABLE))
我相信当我的应用程序和excel之间的用户权限不匹配时会导致此错误.
我想知道是否有关于如何访问打开的Excel应用程序的解决方法,无论excel如何打开,我都可以以管理员身份打开我想要访问的程序.
另外我想知道如何判断打开了哪些权限进程?我一直在使用ProcessExplorer来查看UserProfile(在两个应用程序中都是相同的)和Owner(也是相同的BUILTIN\Administrators)
背景 我有一个程序通过调用NUnit-console-x86来运行不同的测试.正在测试的应用程序打开一个excel表单,这是我想要从中读取数据的表单.当我以管理员身份运行我的程序时,或者我没有得到这些错误,我也尝试添加Process.StartInfo.Verb ="runas"; 到我启动NUnit的程序,但我仍然遇到这些错误
虽然我不想在每台计算机上安装visual studio,但看起来安装visual studio解决了这个问题.任何人都可以向我解释这些吗?
查看Microsoft支持信息,当excel(或一般来说,office)未处于活动状态或在“运行的对象表”中运行时,似乎会生成0x800401e3。调用此文件之前,您必须打开excel的副本。您可能尚未在代码中打开excel,或者尚未完全注册。这可能是问题吗?
| 归档时间: |
|
| 查看次数: |
15942 次 |
| 最近记录: |