欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

VBA调用系统调色板

发布时间:2023/12/8 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 VBA调用系统调色板 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在Excel中设置单元格字体格式时,用户可以在调色板中选择颜色,如下图所示。

在VBA代码中如何提供调色板让用户选择颜色呢?
一种方法是调用Excel的系统对话框实现设置颜色,对话框如下图所示。

Application.Dialogs(xlDialogFont).Show


但是,并不是所有的格式设置都有与之对应的系统对话框可以在代码中调用,所以调用系统调色板供用户选择颜色,然后使用代码设置格式是更加通用的实现方式。

Type udtColorlStructSize As LonghwndOwner As LonghInstance As LongrgbResult As LonglpstrColors As Stringflags As LonglCustData As LonglpfnHook As LonglpTemplateName As Long End Type Declare Function ChooseColorA Lib "Comdlg32" _(lpChooseColor As udtColor) As Long Sub Demo030()Dim strColors As String * 16Dim udtMyColor As udtColorWith udtMyColor.lStructSize = 36.lpstrColors = strColorsEnd WithIf ChooseColorA(udtMyColor) = 0 Then Exit Sub[A1].Font.Color = udtMyColor.rgbResult End Sub

第21行代码调用API函数ChooseColorA,显示系统调色板如下图,用户选择的颜色保存在udtMyColor中。

第22行代码中udtMyColor.rgbResult返回颜色的RGB值,用于设置字体颜色。

总结

以上是生活随笔为你收集整理的VBA调用系统调色板的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。