为什么用vba无法打开xlDialogEditColor对话框?

vba中提供了Application对象的Dialogs属性用于返回excel应用程序的内置对话框。

比如如下的代码将分别弹出“打开”文件对话框和”设置字体”对话框。

其它的内置对话框常量可以见内置对话框枚举

在vba中提供了Application对象的Dialogs属性返回的是Dialog对象。

在vba中Dialog对象只有一个Show方法可以使用。

正常情况下,只需要用Dialog.Show即可打开相应的对话框。

但是有些对话框却不行,比如xlDialogEditColor对话框,用如下的代码将报错:

这是因为,Dialog对象的Show方法的语法如下:

也就是Show后面可以跟参数,打开某些对话框需要提供具体的参数才能打开,xlDialogEditColor对话框就是此类。

具体某个对话框对应的参数有哪些,需要提供哪些,可以看以下链接。

内置对话框参数列表

其中xlDialogEditColor对话框对应的参数有color_num, red_value, green_value, blue_value

这里只有第一个参数color_num 是必须的,其它参数是可选的。其中color_num参数表示的是调色板中的颜色,可以是1-56之间的任意一个数值。

为此,将上述代码修改如下:

运行后,就可以打开如下所示的颜色对话框了。

 

 

 

       

发表评论