文章目录
Win10 x64 + WPS Excel的VBA环境实现socket长链接通信
背景说明
由于工作的需要,要在excel中实现socket长链接的应用,找了很多网上的方法,基本上都是用MSWinSock控件实现,但是介绍的内容大多不够完整,都是东抄西抄的,无法直接拿来应用,我自己总结了一下,分享给大家:
下载必要的组件包
网上能下载到的socket控件都是老版本的控件,使用中会出现无法注册、无法拖拽、程序无响应等各类问题,本人也是折腾了好多次,一直无法成功。
所以建议使用最新的socket控件,可以从微软的官方渠道下载:
VB60SP6-KB2708437-x86-CHS.msi包下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=7030
获取所需的组件文件
VB60SP6-KB2708437-x86-CHS.MSI下载完成后,使用如下的命令进行解压:
msiexec /a “MSI文件所在路径” /qb TARGETDIR="目的地址所在路径"
例如:
msiexec /a "d:\VB60SP6-KB2708437-x86-CHS.MSI" /qb TARGETDIR="d:\abc"
拷贝文件并注册
1、拷贝文件:
解压后,将解压目录SYSTEM目录下的MSWINSCK.dep和MSWINSCK.ocx两个文件拷贝到C:\Windows\System32下;
同时再单独复制MSWINSCK.ocx文件到C:\Windows\SysWOW64中(64位系统中不复制这个,会无法用regsvr32命令注册控件);
2、添加注册信息:
将如下的命令用文本保存成.reg文件
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Licenses\2C49F800-C2DD-11CF-9AD6-0080C7E7B78D]
@="mlrljgrlhltlngjlthrligklpkrhllglqlrk"
3、注册MSWINSCK.ocx控件
使用命令:
regsvr32 C:\Windows\System32\mswinsck.ocx
提示成功后,即可在VBA环境中使用MSWinSock控件了
socket实现例子
用wps excel实现了一个建议的socket长连接demo,供大家下载:
demo中的默认连接本地8989端口。
另外,资源包里面有一个SocketTool4工具,可以模拟本地启动socket长连接服务,配合使用即可。
demo:https://download.csdn.net/download/jsjxb1987/89312295
SocketTool4:https://download.csdn.net/download/jsjxb1987/89155339