發生在這個片斷的問題:
Private Sub UserForm_Activate()
Application.Wait (Now + TimeValue("00:00:01"))
UserForm1.Label1.Caption = "Loading Data..."
UserForm1.Repaint
Application.Wait (Now + TimeValue("00:00:03"))
UserForm1.Label1.Caption = "Please make sure Database file is open..."
UserForm1.Repaint
Application.Wait (Now + TimeValue("00:00:02"))
UserForm1.Label1.Caption = "Opening..."
UserForm1.Repaint
Application.Wait (Now + TimeValue("00:00:01"))
Unload UserForm1
End Sub
的應用只是等待(所以不接受任何輸入)。這就是爲什麼你的事件不會觸發的原因,因爲在等待之後它會立即繼續下一行(這是標籤更改和重繪)。
您可以通過如下改變這個例程修復:
Private Sub UserForm_Activate()
Application.Wait (Now + TimeValue("00:00:01"))
DoEvents 'Allow for the label click to trigger!!!
UserForm1.Label1.Caption = "Loading Data..."
UserForm1.Repaint
Application.Wait (Now + TimeValue("00:00:03"))
DoEvents 'Allow for the label click to trigger!!!
UserForm1.Label1.Caption = "Please make sure Database file is open..."
UserForm1.Repaint
Application.Wait (Now + TimeValue("00:00:02"))
DoEvents 'Allow for the label click to trigger!!!
UserForm1.Label1.Caption = "Opening..."
UserForm1.Repaint
Application.Wait (Now + TimeValue("00:00:01"))
DoEvents 'Allow for the label click to trigger!!!
Unload UserForm1
End Sub
這不是很乾淨,但這樣一來,你就沒有其他改變輸入事件代碼,並解決您的問題。
編輯: 這個答案告訴你如何捕捉事件並使其工作,這就是問題所在。 FollowHyperlink
的問題是第二件事:MSDN表示該方法將根據您傳遞的目標「打開適當的程序」。
由於代碼是正確的和的事件觸發,這是最有可能是完全不同的問題有什麼做的VBA /你的問題。
在我的機器上(W7 + Excel 2016),代碼執行完美,點擊鏈接一直工作。
究竟什麼不行? 這裏罰款。 –
超鏈接無法正常工作。每當我點擊超鏈接,網站都沒有打開。 – omprakash
您是否嘗試過使用F8執行,以查看上述事件是否被解僱?您是否收到MsgBox說「無法打開https ......」? –