2013-06-28 106 views
0

VBA Excel宏中可以有一個有光澤的按鈕,而不是默認的淺藍色按鈕嗎?VBA中的光澤按鈕

例如: Here我有閃亮的光澤按鈕,可以在VBA中使用嗎?代替this

+0

確實允許自定義ocx控件嗎? –

+0

@LefterisE是的,它的確如此。哦,你的意思是創建一個OCX?不,不是的。它將使用現有的OCX。 – GSerg

+0

@GSerg:Thanku ..是否可以使用光面按鈕? – Stella

回答

2

這是一個工作,但它可以完成。正如Gary的學生建議的那樣,您可以使用圖片(通過兩個圖片控件)。去這個網站(http://www.glassybuttons.com/glassy.php),並設計一個按鈕,它適合您的情況並下載它。

使用兩個.jpg圖像,就需要連線了幾個事件:

1)設置你想要作爲默認的按鈕圖像的圖像1控制的圖片屬性使用的圖像。大小Image1儘可能接近您的按鈕的大小,並將BorderStyle設置爲None

2)將要用作鼠標懸停按鈕圖像的圖像設置爲Image2控件的圖片屬性。再次,大小Image2儘可能接近您的按鈕的大小,並將BorderStyle設置爲無。

3)使用空白圖像控件作爲背景基礎。使控件的大小大於按鈕圖像的大小。覆蓋兩個圖像控件(因此它們都具有相同的.Top和.Left屬性值),並位於Image3(背景圖像)的頂部。請注意,重要的是Image1應該位於最前面(如果Image2位於最前面,您可以使用Order選項將Image2發送到Image1後面)。這兩個圖像應該位於Image3之上。

4)使用圖像1的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)使用圖像3 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)鏡像2的圖像click事件設置爲做任何你想要的按鈕。

同樣,這是一個工作,但它確實使一個很好的視覺,如果你花時間來設置它。此外,你可以混淆Image2的「SpecialEffect」來感知按鈕被按下。

如果有人能推薦一個簡單且公共的共享文件託管站點,我將非常樂意發佈我的示例工作簿,演示上述步驟。

3

按鈕很無聊!

您可以將您看起來更美觀的對象複製到工作表中作爲圖片或形狀。然後,您可以將宏分配給這些對象,或將超鏈接分配給對象等。

也許不如ActiveX強大,仍然有用,並提高視覺效果!

+0

ActiveX控件在分發應用程序時也很痛苦,因爲它們可能無法在其他計算機上正確註冊。儘管如此,它們確實有很多功能 –