Cả NewDocument lẫn sự kiện DocumentOpen đều được kích hoạt khi Microsoft Word tải lần đầu tiên. Khi một thể hiện của Word đã được mở và một tài liệu mới hoặc hiện có được mở ra thì các sự kiện này sẽ hoạt động tốt.Cách xử lý sự kiện Word DocumentChange vì sự kiện NewDocument không được kích hoạt khi tải
Đề xuất tôi đã xem là xử lý sự kiện DocumentChange (luôn được kích hoạt khi Word tải) thay vì hai sự kiện khác.
Câu hỏi của tôi là làm cách nào để tôi thực hiện việc này? Sự kiện DocumentChange không có bất kỳ tham số nào vì vậy làm cách nào tôi biết khi nào tài liệu (mới hoặc hiện tại) vừa được mở?
Ngoài ra, tôi đã có logic trong sự kiện DocumentChange và việc xử lý tài liệu mới và hiện có khác nhau nên tôi không thể ném tất cả mã của mình vào sự kiện.
private void ThisAddIn_Startup(object sender, System.EventArgs a)
{
this.Application.DocumentChange += new ApplicationEvents4_DocumentChangeEventHandler(Application_DocumentChange);
}
private void Application_DocumentChange()
{
// How do I handle NewDocument or DocumentOpen?
}
Điều này hoạt động hoàn hảo cho _DocumentOpen nhưng không hoạt động cho _NewDocument. Tôi nhớ đọc ở đâu đó rằng _NewDocument chỉ được kích hoạt khi người dùng thực hiện File-> New và không khi Word mở bằng một tài liệu mới. Nếu điều này là đúng, bất kỳ ý tưởng về cách xử lý một tài liệu mới khi từ mở ra? _WindowActivate kích hoạt mỗi khi Word lấy tiêu điểm, không chỉ lần đầu tiên Word mở ra. Vì vậy, tôi có thể cố gắng xử lý _WindowActivate nhưng tôi cảm thấy như thế có thể bị lộn xộn. Suy nghĩ? –