2014-02-17 81 views
3

我用谷歌,試圖找到一個解決我的問題,但一直沒能找到解決的辦法Excel的VBA套接字連接

我有一個VB.NET應用程序使用此代碼成功地將字符串發送到指定的IP地址和端口。

在這臺遠程計算機上,我可以收到此字符串並使用VB.NET執行所需操作,但我需要使用Excel。

Public Sub BroadcastData(ByVal toSend As String, ByVal PortToSendTo As Long) 
     Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp) 
     Dim sendBUF As Byte() = Encoding.ASCII.GetBytes(toSend) 
     Dim ep As New IPEndPoint(MainForm.IPToBroadcastTo, PortToSendTo) 
     s.SendTo(sendBUF, ep) 
     System.Diagnostics.Debug.WriteLine(s.SendTo(sendBUF, ep)) 
End Sub 

其中IPToBroadcstTo是本地網絡上遠程計算機的IP地址。

我想讓計算機接收字符串,在Excel中取出字符串並將其寫入單元格,然後使用它執行計算。

回答

1

您發佈的代碼是VB.NET。 Excel使用VBA,雖然它共享一些常用的語法,但是與縮減的庫集合是完全不同的語言。

例如,在VBA中沒有SocketIPEndPoint類。

所以總之,答案是你不能使用該代碼在Excel中打開套接字。

看一看在Winsock控制或

也許你可以寫一個.NET程序集,並揭露它通過COM interop允許這種情況在Excel中使用。