VBA中的光泽按钮

时间:2013-06-28 10:34:28

标签: excel button excel-vba vba

是否可以使用光泽按钮而不是VBA Excel宏中的默认浅蓝色按钮?

实施例: Here我有闪亮的光泽按钮,可以在VBA中使用吗? 而不是this

3 个答案:

答案 0 :(得分:3)

按钮很无聊!

您可以将更好看的对象复制到工作表中,如图片或形状。然后,您可以将宏指定给这些对象或为对象分配超链接等。

也许没有ActiveX那么强大,仍然有用并且具有改善的视觉效果!

答案 1 :(得分:2)

这有点工作,但可以做到。正如Gary的学生建议的那样,你可以使用图片(通过两个图像控件)。转到此站点(http://www.glassybuttons.com/glassy.php)并设计一个按钮,使其适合您的情况并下载。

使用两个.jpg图像,您需要连接一些事件:

1)将要用作默认按钮图像的图像设置为Image1控件的图片属性。将Image1的大小设置为尽可能接近按钮的大小,并将BorderStyle设置为None

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

3)使用空白图像控件作为背景基础。使控件稍微大于按钮图像的大小。覆盖两个图像控件(因此它们都具有相同的.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的图像点击事件,以执行您希望按钮执行的操作。

同样,它有点工作,但如果你花时间设置它,它确实会产生一个很好的视觉效果。此外,您可以使用Image2的“SpecialEffect”来理解按钮被按下的感觉。

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

答案 2 :(得分:0)

按照此Active X user control的建议尝试此video。不确定是否可以添加in the worksheet tho。它可能还需要vb6运行时。这听起来很麻烦,不确定它是否值得...... also see