2016-06-13 13 views
5

Một đối tượng Word.Application thể hiện phương thức .Activate.Tại sao có một phương pháp Application.Activate cho Word nhưng không cho Excel?

Mặt khác, đối tượng Excel.Application chỉ hiển thị phương thức .ActivateMicrosoftApp thực hiện chức năng đáng chú ý khác để "kích hoạt đối tượng ứng dụng cụ thể này".

Tại sao không có phương thức Excel.Application.Activate?

+0

Nhân tiện, điều gì có nghĩa là Kích hoạt ứng dụng? Để mang lại cho nó tiền cảnh? Để tập trung nó? Để tối đa hóa nó? ... –

Trả lời

8

Câu trả lời nhàm chán: vì Word.ApplicationExcel.Application là các loại hoàn toàn khác nhau, với các triển khai hoàn toàn khác nhau.

Outlook.Application cũng không để lộ thành viên Activate. Heck, nó thậm chí không lộ ra phương pháp Run.

Tôi thậm chí không chắc chắn các lớp học Application chia sẻ bất kỳ điều gì nhiều hơn tên loại. Có "hợp đồng" cơ bản cần được đáp ứng (ví dụ: đối tượng cấp cao nhất của máy chủ VBE phải có Name), nhưng những thứ như ActivateRun không có trong hợp đồng đó. Theo như tôi biết "hợp đồng" có nhiều việc phải làm với plumbings hơn với giao diện có thể nhìn thấy VBA (ví dụ như bạn để lộ IStream cho tất cả các thành phần và thực hiện một IStorage để VBE biết vị trí và cách duy trì mã).

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