VBA中有光泽的button

VBA Excelmacros中可以有一个有光泽的button,而不是默认的淡蓝色button?

例如: 在这里我有shiny的光泽button,可以在VBA中使用吗?
而不是这个 。

这是一个工作,但可以完成。 正如Gary的学生build议的那样,您可以使用图片(通过两个图片控件)。 去这个网站( http://www.glassybuttons.com/glassy.php ),并devise一个如何适合您的情况下载它的button。

使用这两个.jpg图像,您需要连线几个事件:

1)将要用作默认button图像的图像设置为Image1控件的图片属性。 将Image1的大小尽量靠近button的大小,并将BorderStyle设置为None

2)将要用作鼠标hoverbutton图像的图像设置为Image2控件的图片属性。 再次,大小Image2尽可能接近您的button的大小,并将BorderStyle设置为None

3)使用空白图像控件作为背景基础。 使控制比您的button图像的大小大一点。 覆盖两个图像控件(因此它们都具有相同的.Top和.Left属性值),并位于Image3(背景图像)的顶部。

3a)注意,重要的是要启动Image1(如果最上面的话,可以使用Order选项将Image2发送到Image1之后)。 这两个图像应该在Image3之上。

4)像这样使用Image1的MouseMove事件:

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Image1.Visible = False Image2.Visible = True End Sub 

5)像这样使用Image3的MouseMove事件:

 Private Sub Image3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Image1.Visible = True Image2.Visible = False End Sub 

6)设置Image2的图像点击事件来做任何你想要的button。

再次,这是一个工作,但它确实使一个很好的视觉,如果你花时间来设置它。 此外,你可以混淆Image2的“SpecialEffect”来给出button被按下的意义。

如果有人可以推荐一个简单的公共共享文件托pipe站点,我将非常乐意发布我的示例工作簿,演示上述步骤。

button很无聊!

您可以将您的外观更好的对象作为图片或graphics复制到工作表中。 然后,您可以将macros分配给这些对象或将超链接分配给对象等

也许没有ActiveX那么强大,但仍然有用,并提高视觉效果!

请尝试此video中build议的Active X用户控件 。 不知道是否可以在工作表中添加。 它可能还需要vb6运行时。 这听起来很麻烦,不知道这是值得的… 也见