我正在尝试使用以下代码来处理Winsock_Connect事件(实际上我在Excel宏中需要它):
Dim Winsock1 As Winsock 'Object type definition
Sub Init()
Set Winsock1 = CreateObject("MSWinsock.Winsock") 'Object initialization
Winsock1.RemoteHost = "MyHost"
Winsock1.RemotePort = "22"
Winsock1.Connect
Do While (Winsock1.State <> sckConnected)
Sleep 200
Loop
End Sub
'Callback handler
Private Sub Winsock1_Connect()
MsgBox "Winsock1::Connect"
End Sub
但是,即使Winsock1.State为“已连接”,它也永远不会进入Winsock1_Connect子例程。
我想使用标准的MS库,因为我没有PC上的管理权限,并且无法注册某些自定义库。
谁能告诉我,我哪里错了?
最佳答案
您是否在使用MSWinsock卡住了?
Here是使用自定义winsock对象的站点/教程。
另外,您还需要在“类”模块中声明Winsock1 WithEvents :
Private WithEvents Winsock1 As Winsock
最后,请确保您引用了winsock ocx控件。
工具->引用->浏览->%SYSEM%\MSWINSCK.OCX