Tôi đã cố gắng thay đổi dần màu nền của ô thành màu đen và tôi nhận thấy phương thức Range.Interior.Color trả về giá trị Long là dường như tùy ý. Nhìn vào tài liệu hướng dẫn trên MSDN, gần như không có gì về những gì con số này đại diện. Có cách nào để trả lại giá trị RGB từ lâu không. Tôi thực sự cần đối diện với chức năng RGB (đỏ, lục, lam).Trả về giá trị RGB từ Range.Interior.Color (hoặc bất kỳ Thuộc tính Màu nào khác)
Trả lời
ngắn Trả lời:
Không có được xây dựng trong chức năng cho việc này. Bạn phải viết chức năng của riêng bạn.
dài trả lời:
Các dài được trả về từ thuộc tính Interior.Color là một chuyển đổi số thập phân của số hexidecimal điển hình mà chúng ta thường thấy cho màu sắc trong html ví dụ "66FF66". Ngoài ra, hằng số xlNone (-4142) có thể được truyền tới ô thiết lập để không có màu nền, tuy nhiên các ô đó được đánh dấu màu trắng là RGB(255, 255, 255)
từ thuộc tính Get
. Biết được điều này, chúng ta có thể viết một hàm trả về một hoặc tất cả các giá trị RGB thích hợp.
May mắn thay, một loại ông Allan Wyatt đã làm điều đó ở đây!
That "tùy ý" số là sự kết hợp toán học của các giá trị RGB (R * 256^2 + G * 256 + B) và chuyển đổi giá trị hex màu sắc cho một số thập phân (cơ sở 16 đến căn cứ 10), tùy thuộc vào cách bạn muốn xem. Chỉ các căn cứ khác nhau. Dưới đây là phương pháp tôi sử dụng trong tệp add-in XLAM mà tôi đã viết cho Excel. Phương pháp này có ích nhiều lần. Tôi đã bao gồm các tài liệu trong tập tin addin của tôi.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Function Color
' Purpose Determine the Background Color Of a Cell
' @Param rng Range to Determine Background Color of
' @Param formatType Default Value = 0
' 0 Integer
' 1 Hex
' 2 RGB
' 3 Excel Color Index
' Usage Color(A1) --> 9507341
' Color(A1, 0) --> 9507341
' Color(A1, 1) --> 91120D
' Color(A1, 2) --> 13, 18, 145
' Color(A1, 3) --> 6
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function Color(rng As Range, Optional formatType As Integer = 0) As Variant
Dim colorVal As Variant
colorVal = Cells(rng.Row, rng.Column).Interior.Color
Select Case formatType
Case 1
Color = Hex(colorVal)
Case 2
Color = (colorVal Mod 256) & ", " & ((colorVal \ 256) Mod 256) & ", " & (colorVal \ 65536)
Case 3
Color = Cells(rng.Row, rng.Column).Interior.ColorIndex
Case Else
Color = colorVal
End Select
End Function
tốt để thấy rằng ông Wyatt sử dụng phương pháp nhanh chóng của màu RGB
R = C Mod 256
G = C \ 256 Mod 256
B = C \ 65536 Mod 256
mà là nhiều lần nhanh hơn so với những người sử dụng hex str với trái giữa đúng rằng một số đề nghị
Câu trả lời khác không hiệu quả với tôi. Tôi thấy rằng:
R = C And 255
G = C \ 256 And 255
B = C \ 256^2 And 255
và hoạt động bình thường.
- 1. Giá trị màu jquery css trả về RGB?
- 2. Enum.TryParse trả về true cho bất kỳ giá trị số
- 3. Cách tính giá trị màu rgb trung bình của bitmap
- 4. Tạo màu NSC với giá trị RGB
- 5. Làm thế nào để tự động thay đổi thuộc tính ConverterParameter (hoặc bất kỳ) của tài nguyên MultiBinding (hoặc bất kỳ tài nguyên nào khác) khi chạy?
- 6. Giá trị trả lại của thuộc tính khác nếu thuộc tính cần thiết là nil
- 7. Bất kỳ cách nào để khớp với giá trị trả về trong C++ 11?
- 8. SecItemCopyMatching trả về giá trị nil mà không có bất kỳ lỗi nào
- 9. C# quyết định giá trị enum nào là giá trị trả về? Bất kỳ quy tắc nào?
- 10. GROUP_CONCAT trả về NULL nếu bất kỳ giá trị nào là NULL
- 11. Giá trị trả về String hoặc StringBuilder?
- 12. Sắp xếp mảng được trả về bởi ActiveRecord theo ngày (hoặc bất kỳ cột nào khác)
- 13. sqlsrv_num_rows Không Trả lại Giá trị Bất kỳ
- 14. Rails 4: ActiveRecord không lưu bất kỳ thuộc tính nào, lưu các giá trị mặc định
- 15. Cách chuyển đổi màu chuỗi thành mã hex hoặc giá trị RGB của nó?
- 16. Chuyển đổi giá trị màu nguyên sang RGB
- 17. SELECT trả về danh sách các giá trị không xảy ra trong bất kỳ hàng
- 18. Tính khác biệt rõ ràng về màu giữa hai giá trị màu HSI
- 19. Kiểm tra xem bất kỳ thuộc tính nào đã được gán giá trị
- 20. Nhận giá trị của một thuộc tính khác từ ModelMetaData
- 21. Trích xuất các giá trị RGB từ UIColor
- 22. Có bất kỳ thuộc tính hữu ích nào khác cho thuộc tính C# không?
- 23. Giá trị trả về từ mã Java
- 24. trả về hai giá trị từ webservice
- 25. Bắt giá trị trả về từ Task.Run
- 26. Làm thế nào để sử dụng giá trị RGB riêng để thay đổi Màu Nút Winform?
- 27. Preferred Python (hoặc bất kỳ ngôn ngữ nào, thực sự) style: Nên sử dụng khác khi nào nếu trả về?
- 28. Làm mờ LED RGB RGB từ màu này sang màu khác?
- 29. Nhận giá trị trả về từ setTimeout
- 30. Trả về giá trị tùy chỉnh từ hộp thoại WPF
Bạn và cả Harry đều làm việc. F.i. Giá trị màu đỏ của 'RGB (50,100,200) = RGB (50,100,200) Mod 256' và giá trị đỏ của 'RGB (50,100,200) = RGB (50,100,200) Và 255' – Mill