Bắt sự kiện khi di chuyển cửa sổ Excel

Liên hệ QC

Miccpro

Thành viên thường trực
Tham gia
9/12/10
Bài viết
236
Được thích
10
Kính chào các anh chị GPE
Em thấy trong Excel có sự kiện:
Mã:
Private Sub Workbook_WindowResize(ByVal Wn As Window)
Sự kiện này bắt được khi ta phóng to, thu nhỏ, kéo thả kích thước nhưng không thực hiện được khi di chuyển cửa sổ Excel từ vị trí X sang vị trí Y . Vậy giờ em muốn bắt sự kiện này thì có được không ạ, Nếu được mong các anh chị hướng dẫn giúp.
Em xin chân thành cảm ơn
 
Sự kiện này bắt được khi ta phóng to, thu nhỏ, kéo thả kích thước nhưng không thực hiện được khi di chuyển cửa sổ Excel từ vị trí X sang vị trí Y .
Thì rõ ràng tên sub đó ghi luôn chức năng nhiệm vụ rồi mà.

Workbook_WindowResize

muốn bắt sự kiện này thì có được không
Mình nói luôn cái mong muốn cuối cùng đi. Chứ chưa chắc cần biết sự kiện đó làm gì.
 
Upvote 0
Thì rõ ràng tên sub đó ghi luôn chức năng nhiệm vụ rồi mà.

Workbook_WindowResize


Mình nói luôn cái mong muốn cuối cùng đi. Chứ chưa chắc cần biết sự kiện đó làm gì.
Ý em muốn là khi di chuyển cửa sổ Excel từ vị trí X sang Y (Giữ chuột trái trên thanh Panel và di chuyển cửa sổ) thì sự kiện trên không bắt được ạ
 
Upvote 0
Thì đã nói ở trên rồi mà, rất hiểu chỗ đó rồi mà.

Đang hỏi là mục đích cuối cùng làm gì á. Tức là giả sử bắt được cái kia đi, rồi sau đó cuối cùng mình làm gì á?
Mục đích của em là bắt sự kiện này để tính toán khi di chuyển file Excel thì Form (chế độ ShowModal = False) thuộc file đó cũng di chuyển theo anh ạ
 
Upvote 0
Mục đích của em là bắt sự kiện này để tính toán khi di chuyển file Excel thì Form (chế độ ShowModal = False) thuộc file đó cũng di chuyển theo anh ạ
Dùng winapi SetParent
Bạn tham khảo bài viết có mục đích như vậy

Bài đã được tự động gộp:

Bài thứ hai để tham khảo code:
 
Upvote 0
Mới là mục đích thứ gần cuối cùng thôi.

Dùng winapi SetParent
Bạn tham khảo bài viết có mục đích như vậy

Bài đã được tự động gộp:

Bài thứ hai để tham khảo code:
Cảm ơn Bác, em sẽ tìm hiểu thêm. Code của Bác nó ở tầm quá hiểu của em nhiều nhiều o_Oo_O
 
Upvote 0
Cảm ơn Bác, em sẽ tìm hiểu thêm. Code của Bác nó ở tầm quá hiểu của em nhiều nhiều o_Oo_O
Tôi nói bác vận dụng api SetParent, còn ứng dụng có code để tham khảo, bác xem cách setParent trong code.

Đơn giản bác chỉ cần lấy handle của form với api FindWindow, handle của xlmain hoặc excel7 làm parent
Rồi:
setParent formHandle, xlmain/excel7

Vậy là xong, form tự động di chuyển theo. Parent đi đâu child đi theo đó.
 
Upvote 0
Tôi nói bác vận dụng api SetParent, còn ứng dụng có code để tham khảo, bác xem cách setParent trong code.

Đơn giản bác chỉ cần lấy handle của form với api FindWindow, handle của xlmain hoặc excel7 làm parent
Rồi:
setParent formHandle, xlmain/excel7

Vậy là xong, form tự động di chuyển theo. Parent đi đâu child đi theo đó.
Thực sự em xem 2 bài của bác mà mò không ra được gì cả. Bác giúp em khi di chuyển WinDow thì Form cũng di chuyển vả luôn nằm giữa như trong file đính kèm được không ạ. Em xin cảm ơn
 

File đính kèm

  • MoveForm.xlsm
    14 KB · Đọc: 2
Upvote 0
Thực sự em xem 2 bài của bác mà mò không ra được gì cả. Bác giúp em khi di chuyển WinDow thì Form cũng di chuyển vả luôn nằm giữa như trong file đính kèm được không ạ. Em xin cảm ơn
Không biết đến khi nào tôi mới có thể ngồi vào máy tính.
Nên bác cố gắn tham khảo:
 
Upvote 0
Web KT
Back
Top Bottom