2016-10-27 15 views
2

enter image description here如何使用密碼設置註銷在文本框中是錯誤的?

Public Declare Function ExitWindowsEx Lib "user32" _ 
    (ByVal dwOptions As Long, _ 
    ByVal dwReserved As Long) As Long 


Private Sub CommandButton1_Click() 
If TextBox2 <> "123" Then 
ExitWindowsEx 4, 0 'log off 

Else 
    ExitWindowsEx 1, 0 'shut down 
End Sub 

我只參考這個

http://officetricks.com/logoff-or-shutdown-computer-with-excel/

錯誤

固定長度字符串不允許作爲目標模塊的公共成員的類型;私有對象模塊不允許作爲一個公共目標模塊

+0

如果錯誤發生在行說'ExitWindowsEx 4,0 //登錄off'和'ExitWindowsEx 1,0 // down'關閉那是因爲''//不合法VBA。如果你的錯誤是別的,你需要告訴我們它是什麼。 – YowE3K

+0

@ YowE3K我沒有在我的代碼中使用'//''。錯誤消息更新 – evabb

回答

1

沒錯這仍然是一個編譯錯誤的公衆成員的類型:

enter image description here

該消息是有點神祕,但什麼它說的是您不能在用戶窗體或類模塊中放置一個public WinAPI函數(例如,Public Declare Function...)。或者

Private Declare Function ExitWindowsEx Lib "user32" _ 
    (ByVal dwOptions As Long, _ 
    ByVal dwReserved As Long) As Long 

,你可以把它放在一個標準的代碼模塊,並保持它Public這將使它能夠從其他模塊,類,表格等訪問:你可以避開這個由它聲明爲Private

enter image description here

+0

我解決了這個問題。然後,'ExitWindowsEx'沒有被定義。如何解決 – evabb

+0

現在它的工作原理... – evabb

相關問題