6

次のコードを使用して、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サブルーチンには移動しません。PCの管理者権限がなく、一部のカスタムライブラリを登録できないため、標準のMSライブラリを使用したいと思います。誰かが私が間違っているところを教えてもらえますか?

4

2 に答える 2

3

MSWinsock を使用して立ち往生していますか?
これは、カスタムのwinsockオブジェクトを使用したサイト/チュートリアルです。

また... 「クラス」モジュール内でWinsock1 WithEventsを宣言する必要があります。

Private WithEvents Winsock1 As Winsock

最後に、必ず winsock ocx コントロールを参照してください。
ツール -> 参照 -> 参照 -> %SYSEM%\MSWINSCK.OCX

于 2008-09-24T08:12:01.197 に答える