excel牛人来探讨一下用VBA实现网络通信的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:42:31
用socket api来在EXCEL中实现网络通信,
Public Declare Function WSAStartup Lib "ws2_32.dll" (ByVal wVersionRequired As Integer, ByRef lpWSAData As WSADATA) As Long
Public Declare Function socket Lib "ws2_32.dll" (ByVal af As Long, ByVal lType As Long, ByVal protocol As Long) As Long
Public Declare Function bind Lib "ws2_32.dll" (ByVal s As Long, ByRef addr As sockaddr, ByVal namelen As Long) As Long
Public Declare Function listen Lib "ws2_32.dll" (ByVal s As Long, ByVal backlog As Long) As Long
Public Declare Function accept Lib "ws2_32.dll" (ByVal s As Long, ByRef addr As sockaddr, ByRef addrlen As Long) As Long
Public Declare Function recv Lib "ws2_32.dll" (ByVal s As Long, ByVal buf As String, ByVal lLen As Long, ByVal flags As Long) As Long
Public Declare Function send Lib "ws2_32.dll" (ByVal s As Long, ByVal buf As String, ByVal lLen As Long, ByVal flags As Long) As Long
Public Declare

excel用VBA实现网络通信的问题的步骤:
1、打开 Microsoft Office Excel 2007,点击 “开始” ->“Excel 选项”。
2、在弹出的对话框中,选择“常规”选项卡,并在右侧点选“在功能区显示‘开发工具’选项卡”,并单击“确定"。
3、在单元格A1中输入“弧度”,单元格B1中输入“角度”,单元格A2中输入“3.14”,然后在单元格B2中输入公式"=DEGREES(A2)"在按下回车后,该单元格输出结果为179.9087477。
注:DEGREES函数的作用是将弧度转化为角度。
4、接下来,我们用VBA实现同样的功能。点击“开发工具”选项卡,单击“Visual Basic”,启动Visual Basic编辑器。
5、在“Microsoft Excel 对象”上点鼠标右键,依次点击“插入” -> “模块”,创建“模块1”,并在该模块中输入内容:
Sub 转换()
MsgBox Application.WorksheetFunction.Degrees(3.14)
End Sub
点击“运行子过程/用户窗体”按钮,在弹出的对话框中选择“转换”,然后点击“运行”按钮。
6、程序弹出对话框,结果与在Excel中利用公式输出的结果一样,只是有效数字的位数不一样,这可以根据需要加以取舍。
总结:在进行VBA编程时,可以通过WorkSheetFunction方法来实现对Excel函数的引用,借此,可以方便对函数的引用,避免花费更多的时间在自定义函数上,有效的提高了工作效率。

你加我的Hi,我有一些资料,可以共享给你。

有什么研究成果,要分享给我啊。

VB直接就有socket控件。 但是如果你没有VB专业版的话是用不了的。 而且使用注册表破解的话没有可移植性,换台电脑就完蛋了。
如果是希望双向通讯的话。VBA基本无法实现。 但是可以有折中方案。 使用某个网络中某excel文件做中转, 双方都使用查询的方式通讯是可以的。

这种功能要做的话,也应该是用VB来做。

你要做什么功能,通信也不一定非要用soke