我無法弄清楚我在這裏做錯了什麼。我以編程方式將一個按鈕添加到Excel工作表。我正在嘗試分配一個加速鍵,但它沒有被分配。相關的代碼是:設置加速器爲編程式添加按鈕
Sub addPrint(sht, Optional fromLeft, Optional fromTop)
If IsMissing(fromLeft) Then fromLeft = 180
If IsMissing(fromTop) Then fromTop = 10
Set printbut = sht.Buttons.Add(fromLeft, fromTop, 50, 20)
printbut.Name = "PrintButton"
printbut.OnAction = "Sheet4.printButton"
printbut.Characters.Text = "Print/PDF"
printbut.Accelerator = "P"
End Sub
'P'沒有被加下劃線,Alt-P什麼都不做。
謝謝。
我不確定是否[this](http://www.vbforums.com/showthread.php?524674-RESOLVED-Excel-VBA-Button-Shortcut-Keys)會有所幫助,但我覺得有趣的是有帖子來自2008年的@SiddharthRout關於這個相同的主題 – mrbungle 2014-10-02 20:01:45
查看@mrbungle給出的鏈接中的帖子6和7。問題是你正在創建一個表單控件而不是一個activeX按鈕。表單控件沒有'.Accelerator'屬性。 – 2014-10-02 21:03:46
@mrbungle:自2005年以來,我一直在論壇發帖:P – 2014-10-02 21:04:06