Tôi muốn sử dụng VBA trong Excel để kiểm tra xem quy trình WINWORD.EXE hiện có đang chạy hay không.

Tôi muốn sử dụng VBA trong Excel để kiểm tra xem quy trình WINWORD.EXE hiện có đang chạy hay không. Tôi có một macro Excel khá phức tạp sẽ tạo một chữ cái bằng Mailmerge. Sẽ không thành công nếu có quá trình WINWORD.exe đang chạy. Tôi muốn thêm mã vào macro để kiểm tra quy trình WINWORD.exe và nếu vậy, tôi sẽ sử dụng hộp thông báo để cho biết rằng tài liệu Word cần được lưu và đóng hoặc đóng. Macro Excel này chạy trên môi trường hỗn hợp (XP / Win 7) và Excel 2007/2010.


Trả lời:

Xin chào KCKay,

Dưới đây là ví dụ giám sát thời gian thực của ứng dụng Word, tiện lợi hơn so với lời nhắc của hộp thoại pop-up.

Macro để tham khảo:

-------------------

Tùy chọn rõ ràng

Công khai khi chạy theo ngày

'###############################
'Kiểm tra xem phiên bản Word có đang chạy không.
'###############################
Kiểm tra phụWordAppProc()
Dim wdApp làm đối tượng

'Khi xảy ra lỗi, hãy xem nhãn"errHandler".
Khi xảy ra lỗi GoTo errHandler

'Lấy phiên bản Word hiện tại。
Đặt wdApp = GetObject(, "Word.Application")

'╱*Mở hộp thông báo nếu không có lỗi.*╱
Nếu Err = 0 thì Application.Caption = "Ứng dụng Word đang chạy"
'MsgBox "Ứng dụng Word đang chạy", vbExclaim, "Mẹo"
Gọi EnableWordAppChecker
Thoát phụ

errHandler:
Application.Caption = "Ứng dụng Word hiện không chạy"
'MsgBox "Ứng dụng Word hiện không chạy", vbExclaim, "Mẹo"
Gọi EnableWordAppChecker
Kết thúc phụ

'#######################################
'Kiểm tra ứng dụng Word mỗi giây một lần.
'#######################################
Sub EnableWordAppChecker()
WhenRun = Now + TimeValue("00:00:01")
Application.OnTime khiRun, "CheckWordAppProc"
Kết thúc phụ

'#######################################
'Dừng kiểm tra xem ứng dụng Word có đang chạy hay không.
'#######################################
Phụ Vô hiệu hóaWordAppChecker()
Khi xảy ra lỗi Tiếp tục tiếp theo
Ứng dụng.Caption = ""
Application.OnTime whenRun, "CheckWordAppProc", , Sai
Kết thúc phụ

Vui lòng chạy macro 'EnableWordAppChecker' để kiểm tra xem ứng dụng Word có đang chạy hay không. Nếu bạn muốn dừng giám sát thời gian thực, hãy chạy macro 'DisableWordAppChecker'.

Comments

Popular posts from this blog

Macro Đã bật Excel bị hỏng khi sử dụng Excel> Chia sẻ> Email> Gửi dưới dạng tệp đính kèm

Microsoft excel - Tạo công thức trong đó dữ liệu từ các tab / Bảng tính khác nhau có thể được đồng bộ hóa dựa trên một ô trên bảng tính

Làm mới danh sách SharePoint đã xuất không thành công trong Excel 2013 khi hoạt động với Excel 2010