2012-10-10 43 views
11

Từ cuộc gọi saungoại lệ từ HRESULT: 0x800401E3 (MK_E_UNAVAILABLE) cách giải quyết

Marshal.GetActiveObject("Excel.Application") 

tôi nhận được một

Operation không có sẵn (ngoại lệ từ HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

Tôi tin rằng lỗi này xảy ra khi quyền người dùng giữa ứng dụng của tôi và excel không khớp.

Tôi muốn biết nếu có cách giải quyết như thế nào tôi có thể truy cập ứng dụng excel đã mở bất kể mở excel như thế nào, tôi có thể mở chương trình mà tôi muốn truy cập excell từ làm quản trị viên.

Ngoài ra tôi muốn biết làm cách nào tôi có thể cho biết các quy trình cấp phép đã được mở bằng cách nào? Tôi đã được sử dụng ProcessExplorer để nhìn vào UserProfile (mà là như nhau trong cả hai ứng dụng), và Chủ đầu tư (mà cũng là như nhau BUILTIN \ Administrators)

nền Tôi có một chương trình chạy thử nghiệm khác nhau bằng cách gọi NUnit-console-x86. Ứng dụng đang được thử nghiệm mở ra một biểu mẫu excel, đây là biểu mẫu mà tôi muốn đọc dữ liệu từ đó. Và khi tôi chạy chương trình của tôi với tư cách là quản trị viên, hoặc tôi không nhận được các lỗi này, tôi cũng đã thử thêm vào trong Process.StartInfo.Verb = "runas"; chương trình của tôi khởi động NUnit nhưng tôi vẫn nhận được các lỗi này

Có vẻ như cài đặt studio trực quan sẽ khắc phục sự cố mặc dù tôi không muốn phải cài đặt studio trực quan trên mọi máy tính. Bất cứ ai có thể giải thích bất kỳ điều này với tôi?

+1

Tôi vừa trải qua cơn ác mộng cho phép với Excel và một khi tôi đặt chế độ tương thích của Excel để chạy với tư cách quản trị viên cũng như ứng dụng gọi để chạy với tư cách quản trị viên, mọi thứ đều hoạt động. – MisterIsaak

+0

Tôi đã gặp vấn đề này rất nhiều lần, tôi thấy rằng nếu tôi gặp lỗi và chuyển đổi qua lại giữa Skype và Excel, nó hoạt động ... –

Trả lời

2

Nhìn vào Microsoft Support Information, 0x800401e3 dường như được tạo khi excel (hoặc văn phòng nói chung) không hoạt động hoặc đang chạy trong Bảng đối tượng đang chạy. Bạn phải có một bản sao của excel mở trước khi bạn gọi này. Hoặc là bạn chưa mở excel trong mã, hoặc chưa đăng ký đầy đủ của nó. Đây có phải là vấn đề không?

+0

No. Nó đang chạy. Nhưng bằng cách nào đó tôi đã chạy Visual Studio như một người không phải quản trị viên. Khi tôi đọc lại nó với tư cách là quản trị viên, mọi thứ bắt đầu hoạt động. – BrainSlugs83

+0

Ahhhh. Yup, điều đó cũng sẽ làm được. Vui vì bạn đã có thể làm cho nó hoạt động. –

Các vấn đề liên quan