Ich habe untersucht, mit WScript.CreateObject ("WScript.Shell") als Mittel zum Erstellen eines mehrzeiligen, Hover-over, 5 Sekunden-Popup für eine Befehlsschaltfläche in einem Benutzerformular. Von allem, was ich mir vorstellen kann, sollte das funktionieren, aber es gibt einen Fehler "Variable nicht definieren". Beim Debuggen wird "WScript" in der SET-Zeile als Problem hervorgehoben. Bitte hilf mir, dass ich verloren bin.Verwenden von WScript.CreateObject in Excel
Private Sub CB1604A_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim WshShell
Dim BTN
Set WshShell = WScript.CreateObject("WScript.Shell")
BTN = WshShell.PopUp("What do you want to do?", 5)
Select Case BTN
Case 6
WScript.Echo "Do it now."
Case 7
WScript.Echo "Do it later."
Case -1
WScript.Echo "Cancel all actions?"
End Select
End Sub
Ich habe versucht, Ihren Vorschlag und hatte ein paar Pannen. Es hat fast 200 msgbox in der Zeit erstellt, die ich brauchte, um die Befehlsschaltfläche ein- und auszuschalten, und das Popup wurde nie angezeigt. – Hareborn
Das liegt daran, dass Sie das MouseMove-Ereignis verwenden, sodass es jedes Mal ausgelöst wird, wenn sich Ihre Maus innerhalb der Grenzen des Steuerelements bewegt. Das Gleiche würde mit Ihrem ursprünglichen Code passieren, wenn Sie nicht auf das fehlende Referenzproblem gestoßen wären. –