有没有可能在 VBA Excel 宏中使用有光泽的按钮而不是默认的浅蓝色按钮?
3 回答
按钮很无聊!
您可以将更好看的对象以图片或形状的形式复制到工作表中。然后,您可以将宏分配给这些对象或将超链接分配给对象等。
也许不如 ActiveX 强大,但仍然有用并具有改进的视觉效果!
这有点工作,但可以做到。正如 Gary 的学生所建议的,您可以使用图片(通过两个图像控件)。访问此站点 ( http://www.glassybuttons.com/glassy.php ) 并设计一个适合您情况的按钮并下载它。
使用这两个 .jpg 图像,您需要连接一些事件:
1)将要用作默认按钮图像的图像设置为Image1控件的图片属性。将 Image1 的大小设置为尽可能接近按钮的大小,并将 BorderStyle 设置为 None
2) 将要用作鼠标悬停按钮图像的图像设置为 Image2 控件的图片属性。同样,将 Image2 的大小设置为尽可能接近按钮的大小,并将 BorderStyle 设置为 None
3)使用空白图像控件作为背景基础。使控件略大于按钮图像的大小。覆盖两个图像控件(因此它们都具有相同的 .Top 和 .Left 属性值)并且位于 Image3(背景图像)之上。
3a) 请注意,重要的是 Image1 在开始时位于顶部(如果 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”,以给人一种按钮被按下的感觉。
如果有人可以推荐一个简单且公开的共享文件托管站点,我将非常乐意发布我的示例工作簿来演示上述步骤。
试试这个视频中建议的Active X 用户控件。不确定它是否可以添加到工作表中。它可能还需要 vb6 运行时。听起来很麻烦,不确定是否值得…… 另请参阅