Bạn có thể sử dụng ProgID của nó để có được các loại và các hoạt
Type objectType = Type.GetTypeFromProgID("Outlook.Application");
object outlook = Activator.CreateInstance(objectType);
Nhưng sử dụng điều này trong C# bạn sẽ mất tất cả các loại thông tin (tức là không có IntelliSense) và bạn cần phải gọi một số phương pháp xấu xí để gọi các hoạt động với LateBinding (google cho Type.Invoke)
Tùy chọn khác là thêm tham chiếu đến Microsoft.Office.Interop.Outlook.ApplicationClass, vì vậy bạn có thể biên dịch thông tin kiểu thời gian và tạo một cá thể cho Outlook theo cách thông thường
using Microsoft.Office.Interop.Outlook;
Microsoft.Office.Interop.Outlook.ApplicationClass outlook
= new Microsoft.Office.Interop.Outlook.ApplicationClass();
Hoặc bạn có thể sử dụng thư viện Late Binding Helper tôi và sử dụng nó như thế này
Invoker outlook = BindingFactory.CreateAutomationBinding("Outlook.Application");
outlook.Method("Quit").Invoke();
Không Intellisense với thế này, nhưng ít nhất thư viện sẽ giúp bạn tiết kiệm từ các cuộc gọi xấu xí để Type.Invoke và cung cấp cho thay vào đó, bạn sử dụng giao diện thông thạo.
Nguồn
2009-05-05 11:00:53
Tôi nghĩ rằng sẽ làm việc :). Cảm ơn! – jeje1983
Không thực sự áp dụng cho mã trong câu hỏi, nhưng ok –