vba - 使用 Windows Socket 和 Excel VBA 的轻客户端

标签 vba excel tcp client-server winsock

我有一个 Excel 工作簿,其中包含许多不同的数据。另一方面,我有一个 Java 服务器,可以执行大量计算工作。我需要使用 TCP 协议(protocol)将我的 XL Workbook 连接到该服务器,并将数据从 Excel 发送到 Java

最简单的方法是什么?我听说winsocks控件可以与VBA一起使用。我在哪里可以下载这个库来做到这一点(有官方的 MS 库吗? => 很多人都在谈论 MSWINSCK.OCX,但我在微软网站上找不到它)。

对于能够从服务器发送数据和接收数据的小型项目,您是否有一个 VBA 示例或链接?

谢谢 引用值

最佳答案

mswinsck.ocx 是 VB 运行时的一部分(例如 http://support.microsoft.com/kb/932349 )。同一链接通知可能与 mswinsck.ocx 相关的安全问题。当您下载了最新且最安全的 ocx 版本(或者因为安装了 vb 运行时而在硬盘上找到了它)时,您可能需要在 Windows 控制台上通过 regsvr32 手动注册它。在 Windows 7 上,您甚至可能需要额外激活它,例如使用此工具: http://www.nirsoft.net/utils/acm.html

如果完成所有这些,请将对您的 VBA 项目的引用添加到 Microsoft Winsock Control v.... (SP ...)。如果您更喜欢对此进行后期绑定(bind),则可以删除稍后引用,但现在需要在 VBA 项目的对象目录 () 中使用 MSWinsocketLib,并在编码时进行 IntelliSense。

通过在 Internet 上搜索 mswinsck.ocx 站点:microsoft.com,我发现了我要告诉您的内容,并且在短暂查看对象目录后,搜索最具体的表达式,发现:http://www.15seconds.com/issue/010820.htm哪里有基本信息和更多文章的链接。

但是:在我看来,Winsocket 是一种相当古老的技术。我猜关于15秒的文章是2001年的。我不会进一步挖掘,因为我们很早就引用了winsck.ocx,从而迫使管理员将我们的软件安装到regsvr32 mswinsck.ocx,原因我不想知道。也许只是为了让管理员知道我们的软件有多成熟......在搜索引擎发现的页面上提到了 csocket (API) 等替代方案,因此请进一步挖掘。

由于这不是解决方案,而只是提示和讨论,因此我宁愿只评论您的问题,但没有可供我添加评论的链接,因此我可能缺少一个有趣的 stackoverflow 权利。

关于vba - 使用 Windows Socket 和 Excel VBA 的轻客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803329/

相关文章:

c# - 为什么文件不能通过 tcp 在 C# 中的客户端和 C 中的服务器之间正确传输(保存?)?

sockets - 发送数据后,JMeter TCP Sampler 不会关闭套接字

excel - Excel 或 Powerpoint 2007/2010 中的滚动图表

excel - 尝试运行 sub 时出现错误 'object variable or With block variable not set'

regex - 可以单独提取组的每个出现,但不能作为重复组

excel - xlsxwriter 在 "thisworkbook"添加一个宏以在打开时执行

excel - 动态小区接入

excel - 调用用户窗体并返回值

excel - 强制 Excel 退出编辑模式的宏

linux - 按计划关闭 TCP session ,可选监视空闲​​状态