[Xin giúp đỡ] Lấy màu giao diện Windows hoặc Excel đang sử dụng để áp dụng vào UserForm

Liên hệ QC

Mutants Men

Thành viên thường trực
Tham gia
30/12/15
Bài viết
394
Được thích
266
Mọi người cho em hỏi trong VBA làm sao để lấy được màu sắc của giao diện hệ thống đang sử dụng được hoặc của Excel cũng được ạ
Ví dụ như giao diện Win đang ở chế độ tối (Dark Mode) thì chuyển UserForm sang màu đen và ngược lại, nếu lấy được của Excel thì càng tốt ạ, như Excel đang màu xanh lá thì chuyển toàn bộ giao diện và các thành phần trên UserForm sang màu xanh lá.
Em xin cảm ơn trước ạ!
Liên kết: https://www.youtube.com/watch?v=abDuZD2X_4Y
 
Cụ thể cái gì xanh lá? Tôi mở tập tin Excel thì có thấy giao diện có chỗ nào mầu xanh lá đâu. Hoặc là bạn hướng dẫn làm bằng tay thế nào để được cái mà bạn gọi là xanh lá.
dạ đây ạ
1640050731514.png1640050744945.png1640050758105.png
excel kiểu 3 màu như vậy hoặc lấy theo màu chủ đề của hệ thống ạ
1640050874568.png1640050910051.png

nếu lấy theo được như màu chủ đề của hệ thống thì tốt quá.vì có người thích giao diện tối, có người thích giao diện sáng.
 
Upvote 0
Mọi người cho em hỏi trong VBA làm sao để lấy được màu sắc của giao diện hệ thống đang sử dụng được hoặc của Excel cũng được ạ
Ví dụ như giao diện Win đang ở chế độ tối (Dark Mode) thì chuyển UserForm sang màu đen và ngược lại, nếu lấy được của Excel thì càng tốt ạ, như Excel đang màu xanh lá thì chuyển toàn bộ giao diện và các thành phần trên UserForm sang màu xanh lá.
Em xin cảm ơn trước ạ!
Liên kết: https://www.youtube.com/watch?v=abDuZD2X_4Y
anh nhớ úp cho lâu rồi mà ... hay quên
xem hình nếu đúng úp file lên cho .... bấm vào cái biểu tượng cài đặt là thay đổi màu
code tây nó làm cho hết còn ta chỉ xơi
1640052421532.png

1640052442941.png
1640052460609.png
1640052478707.png
 
Upvote 0
Upvote 0
Nếu là Office Theme thì sau khi thiết lập xong rồi tắt đi và mở lại ta vẫn có. Như vậy thiết lập phải được ghi nhớ ở đâu đó. 99,9999% đó là Registry.
Trong office của tôi chỉ có 3 mầu là White, Light Gray và Dark Gray.

theme.jpg

Nhưng trong Registry không có ghi những tên đó mà chỉ ghi 0, 1 hoặc 2 nếu thiết lập White, Light Gray hoặc Dark Gray. Tức trong Registry chỉ được nhớ chỉ số (tính từ 0) của mục trong danh sách. Nhưng cái danh sách này lại không như nhau trong các phiên bản office thì phải, vì tôi không có mục Black mà bạn lại có. Tóm lại là ta hoàn toàn có thể đọc ra từ Registry chỉ số trong danh sách của mục được chọn. Nhưng nếu ta không biết được danh sách thì không thể xác định được mục được chọn. Như trong hình thì tôi chọn "Dark Gray" và tôi đọc được từ Registry chỉ số 2. Nếu code đọc được chỉ số 2 nhưng trên máy khác với office khác thì chắc gì 2 có nghĩa là "Dark Gray". Bởi trên máy kia có thể có danh sách hoàn toàn khác.
 
Upvote 0
Chế gì? Chủ thớt muốn đọc một thiết lập từ đâu đó trong system chứ nếu muốn tự quay số chọn mầu thì cần gì phải Tây.
Em nghĩ mấy thứ này anh làm nhẹ nhàng ... có điều đang xem xét lại các kiểu sao đó thôi .... xong sẻ chốt lại à :p
 
Upvote 0
Của tây đó nha ... còn ta chỉ xơi

Nếu là Office Theme thì sau khi thiết lập xong rồi tắt đi và mở lại ta vẫn có. Như vậy thiết lập phải được ghi nhớ ở đâu đó. 99,9999% đó là Registry.
Trong office của tôi chỉ có 3 mầu là White, Light Gray và Dark Gray.

View attachment 270563

Nhưng trong Registry không có ghi những tên đó mà chỉ ghi 0, 1 hoặc 2 nếu thiết lập White, Light Gray hoặc Dark Gray. Tức trong Registry chỉ được nhớ chỉ số (tính từ 0) của mục trong danh sách. Nhưng cái danh sách này lại không như nhau trong các phiên bản office thì phải, vì tôi không có mục Black mà bạn lại có. Tóm lại là ta hoàn toàn có thể đọc ra từ Registry chỉ số trong danh sách của mục được chọn. Nhưng nếu ta không biết được danh sách thì không thể xác định được mục được chọn. Như trong hình thì tôi chọn "Dark Gray" và tôi đọc được từ Registry chỉ số 2. Nếu code đọc được chỉ số 2 nhưng trên máy khác với office khác thì chắc gì 2 có nghĩa là "Dark Gray". Bởi trên máy kia có thể có danh sách hoàn toàn khác.
vâng em cảm ơn mọi người và anh nhiều ạ, nếu cách này không khả thi thì thôi vậy, nếu được thì để code tự động chọn màu, còn không thì để người dùng tự chọn cài đặt thủ công cũng được.
 
Upvote 0
Web KT
Back
Top Bottom