#HookLab - Tạo cửa sổ TaskPane / ActionPane bằng UserForm

Liên hệ QC

thaipv

XA Project
Tham gia
18/5/14
Bài viết
158
Được thích
239
Giới tính
Nam
Gửi tặng các bạn mã nguồn để tạo cửa sổ TaskPane / ActionPane (cửa sổ phụ) trong excel bằng UserForm.219359
Ghi chú : Cửa sổ con di chuyển trong phạm vi bên trong và di chuyển theo cửa sổ cha của nó.
+ Màu cam : Cửa sổ ông nội XLMAIN
+ Màu đỏ : Cửa sổ cha XLDESK
+ Màu tím : Cửa sổ con EXCEL7

Giải thuật vắn tắt :
1. Thiết lập UserFom làm (giả) TaskPane / ActionPane là con của cửa sổ XLDESK (con nuôi).
2. Sắp xếp lại vị trí của UserForm và EXCEL7 (con ruột) sao cho không đè lên nhau (UserForm có thể ở bên trái hoặc bên phải của EXCEL7...).
3. Mỗi khi cửa sổ cha XLDESK thay đổi vị trí hoặc kích thước thì cửa sổ con cũng thay đổi theo (và trở về mặc định). Vì vậy, ta cần đặt 1 hook bắt sự kiện này để UserForm và EXCEL7 định lại vị trí và kích thước theo đúng ý 2.
 

File đính kèm

  • FacePane.xlsm
    45 KB · Đọc: 187
UserFom làm (giả) TaskPane ..... không đẹp lắm .... nhưng khâm phục và ngưỡng mộ :D :D
 
Upvote 0
Không biết code VBA là do bác sở hữu và nắm bản quyền hay thế nào, nếu không thì "gửi tặng" là không hợp lí. Code thông qua WinAPI để thực hiện nên không ai cấp phép cả, mà cộng đồng được phép sử dụng theo chính sách của Microsoft.
Và các dòng chú thích tiếng Anh khá là "Anh", vậy nên chỉ có thể đăng là "chia sẻ code". Không biết bác có đồng ý không?
Và kỹ thuật code chưa hoàn chỉnh, sẽ làm ngưng tiến trình ứng dụng Excel đột ngột.
 
Lần chỉnh sửa cuối:
Upvote 0
Không biết code VBA là do bác sở hữu và nắm bản quyền hay thế nào, nếu không thì "gửi tặng" là không hợp lí. Code thông qua WinAPI để thực hiện nên không ai cấp phép cả, mà cộng đồng được phép sử dụng theo chính sách của Microsoft.
Và các dòng chú thích tiếng Anh khá là "Anh", vậy nên chỉ có thể đăng là "chia sẻ code". Không biết bác có đồng ý không?
Và kỹ thuật code chưa hoàn chỉnh, sẽ làm ngưng tiến trình ứng dụng Excel đột ngột.
Code này do tôi viết 100% (tất nhiên là ngoại trừ những API), các chú thích tiếng Anh cũng vậy.
 
Upvote 0
Tuy bác viết nhưng bác phải sở hữu theo luật sở hữu trí tuệ, thì code bác có thể nói là tặng, ở trường hợp này có lẽ là chia sẽ code.
 
Upvote 0
Gửi tặng các bạn mã nguồn để tạo cửa sổ TaskPane / ActionPane (cửa sổ phụ) trong excel bằng UserForm.View attachment 219359
Ghi chú : Cửa sổ con di chuyển trong phạm vi bên trong và di chuyển theo cửa sổ cha của nó.
+ Màu cam : Cửa sổ ông nội XLMAIN
+ Màu đỏ : Cửa sổ cha XLDESK
+ Màu tím : Cửa sổ con EXCEL7

Giải thuật vắn tắt :
1. Thiết lập UserFom làm (giả) TaskPane / ActionPane là con của cửa sổ XLDESK (con nuôi).
2. Sắp xếp lại vị trí của UserForm và EXCEL7 (con ruột) sao cho không đè lên nhau (UserForm có thể ở bên trái hoặc bên phải của EXCEL7...).
3. Mỗi khi cửa sổ cha XLDESK thay đổi vị trí hoặc kích thước thì cửa sổ con cũng thay đổi theo (và trở về mặc định). Vì vậy, ta cần đặt 1 hook bắt sự kiện này để UserForm và EXCEL7 định lại vị trí và kích thước theo đúng ý 2.
Đỉnh, cách của bạn rất hay. Tôi chỉnh chút code nhìn cũng rất chuyên nghiệp với cái giao diện TaskPanel này.
 
Upvote 0
Đỉnh, cách của bạn rất hay. Tôi chỉnh chút code nhìn cũng rất chuyên nghiệp với cái giao diện TaskPanel này.
Bạn cải tiến viết thêm chút ... !!!

VD: Túm cái Form keo thả vào 4 góc là nó vô đúng vị trí của nó ...vvv và khắc phục một số lỗi nữa là ok đấy :p:D
 
Upvote 0
Bạn cải tiến viết thêm chút ... !!!

VD: Túm cái Form keo thả vào 4 góc là nó vô đúng vị trí của nó ...vvv và khắc phục một số lỗi nữa là ok đấy :p:D
Mình cũng sửa lại để cái Form vừa lại với giao diện, di chuyển thì nhu cầu chỉ nằm bên trái hoặc bên phải thôi, còn khi sử dụng tạm thời chưa phát hiện nó bị lỗi gì, nếu bạn phát hiện chia sẻ cách khắc phục.
 
Upvote 0
Cách này cũng hay thật, phải chi biết sớm thì đỡ khổ hihihi
 
Upvote 0
Cái này với cái Listview anh
Mạnh cũng đang có ý định mò viết Add-Ins TaskPane trên Delphi ... mà lâu nay bận quá ko có thời gian mở Delphi lên coi ... lâu lâu ghé GPE chọc chọc vài dòng lướt qua vậy chứ có coi kỹ bài nào mô -0-0-0-
 
Upvote 0
Gửi tặng các bạn mã nguồn để tạo cửa sổ TaskPane / ActionPane (cửa sổ phụ) trong excel bằng UserForm.View attachment 219359
Ghi chú : Cửa sổ con di chuyển trong phạm vi bên trong và di chuyển theo cửa sổ cha của nó.
+ Màu cam : Cửa sổ ông nội XLMAIN
+ Màu đỏ : Cửa sổ cha XLDESK
+ Màu tím : Cửa sổ con EXCEL7

Giải thuật vắn tắt :
1. Thiết lập UserFom làm (giả) TaskPane / ActionPane là con của cửa sổ XLDESK (con nuôi).
2. Sắp xếp lại vị trí của UserForm và EXCEL7 (con ruột) sao cho không đè lên nhau (UserForm có thể ở bên trái hoặc bên phải của EXCEL7...).
3. Mỗi khi cửa sổ cha XLDESK thay đổi vị trí hoặc kích thước thì cửa sổ con cũng thay đổi theo (và trở về mặc định). Vì vậy, ta cần đặt 1 hook bắt sự kiện này để UserForm và EXCEL7 định lại vị trí và kích thước theo đúng ý 2.
nhấn vào có hiện form lên sau đó con trỏ xoay tầm 2s, rồi tự động tắt excel luôn bác ạ, không nhấn gì nữa cả
 
Upvote 0
Cai này còn phải bẩy lỗi nhiều hihihi
Bạn sửa lại để hoàn chỉnh luôn đi bạn, thật sự có nghiên cứu tới mấy cái API để xem lỗi chổ nào nhưng máy mình chạy nó không hề báo lỗi. Mà cái vụ API mình nghiền hoài nhưng vẫn không nuốc nổi, bó tay.
 
Upvote 0
Bạn sửa lại để hoàn chỉnh luôn đi bạn, thật sự có nghiên cứu tới mấy cái API để xem lỗi chổ nào nhưng máy mình chạy nó không hề báo lỗi. Mà cái vụ API mình nghiền hoài nhưng vẫn không nuốc nổi, bó tay.
hihihi em cũng đâu có rành môn API đâu :wallbash::wallbash: với lại máy tháng gần đây em có chút việc bận nên không ngồi máy lâu được nên đâu có mày mò code được, lâu lâu vô diễn đàn comment đỡ buồn./-*+//-*+//-*+/
 
Upvote 0
Đúng là có lỗi thật, khi mình thay đổi kích thước (Phóng to, di chuyển, đổi vị trí) của của sổ WorkBook một chút thì nó treo luôn excel. Ai khắc phục được hoàn thiện nó đi mọi người, bạn @thaipv khắc phục sản phẩm của mình xem sao.
 
Upvote 0
Đúng là có lỗi thật, khi mình thay đổi kích thước (Phóng to, di chuyển, đổi vị trí) của của sổ WorkBook một chút thì nó treo luôn excel. Ai khắc phục được hoàn thiện nó đi mọi người, bạn @thaipv khắc phục sản phẩm của mình xem sao.
TaskPane.PNG
Cập nhật :
+ Thiết kế, căn chỉnh lại frmTaskPane theo phong cách phẳng.
+ Chuyển code vào UserForm.
Các bạn tải về test thử nhé.
 

File đính kèm

  • TaskPane_Fix01.xlsm
    77.2 KB · Đọc: 66
Upvote 0
Mình thử xem thế n ào thì: excel stop working nhé.
excel 2013 64bit
 
Upvote 0
Web KT
Back
Top Bottom