使用VBA在Skype中发送消息

时间:2017-11-21 08:38:20

标签: excel vba excel-vba skype skype4com

目标:完成某个宏后,向Skype联系人发送消息。

来源:我在周围搜索并发现了一些问题,试图做同样的事情。这是我使用Using Excel VBA to send Skype messages to Group Chat以及此https://www.mrexcel.com/forum/excel-questions/424432-sending-skype-message-through-excel-vba.html代码的基础 这两个问题都使用类似的代码。

问题:当我运行代码时出现以下错误:

  

运行时错误'':ActiveX组件无法创建对象

就行:

Set aSkype = New SKYPE4COMLib.Skype

问题:此API是否仍适用于此类程序?如何解决持续的错误?

代码:

Sub testingskype()

Dim aSkype As SKYPE4COMLib.Skype
Set aSkype = New SKYPE4COMLib.Skype
Dim oChat As Chat
Dim skUser As SKYPE4COMLib.User
    Set skUser = aSkype.User("user_name")
    Set oChat = aSkype.CreateChatWith(skUser.Handle)
    oChat.OpenWindow
    oChat.SendMessage "message"

End Sub

Obs:我在我创建的每个模块中使用显式选项。

2 个答案:

答案 0 :(得分:1)

当聊天自动化成为世界各地讨论的话题时,开发人员放弃了这个问题,这让我感到惊讶。

从2013年开始,“ Skype for Business”基本上就是Lync的更名,因此了解这一点很重要

Skype <> "Skype for Business"

这就像Java和javascript,完全不同,只是品牌名称相似。


重要的是要了解Skype开发人员平台或只是Skype SDK,它是Office Skype,Skype Web,Skype for Business和Skype的保护伞。

Skype Developer Platform

在所有API / SDK中,需要使用:

  

Lync 2013 SDK documentation

由于这是Skype Desktop,Lync和所有以下SFB版本的单个可用SDK。

Persistent chat samples是类似于该问题的解决方案。

答案 1 :(得分:0)

这可能没有多大帮助,但我认为您在此处列出的代码不起作用或者库未添加到您的Excel中。

相同的代码出现在这里: https://stackoverflow.com/a/43172531/8716187

您是否下载并注册了skype dll(错误与不添加它出现的activeX控件有关)。如果您使用的是x64,它可能只是x32。

安装使用Skype4COM.dll依赖关系的软件时,软件应自动为您注册该文件。在某些情况下,您的DLL文件可能无法正确注册,因此,将提供未注册的&#34; Skype4COM.dll&#34;错误。幸运的是,您可以使用名为&#34; Microsoft注册服务器&#34;的内置实用程序。 (regsvr32.exe)重新注册您的Skype4COM.dll文件。 如何从提升的命令提示符(Windows XP,Vista,7,8和10)重新注册Skype4COM.dll:

单击“开始”按钮。

输入&#34;命令&#34;在搜索框中...不要按ENTER键!

在键盘上按住CTRL-Shift键时,按ENTER键。

系统将提示您使用权限对话框。

单击是。

键入以下命令:regsvr32 / u Skype4COM.dll。

按ENTER键。这将取消注册您的文件。

键入以下命令:regsvr32 / i Skype4COM.dll。

按ENTER键。这将重新注册您的文件。

关闭命令提示符窗口。

重新启动与Skype4COM.dll错误相关的程序。

https://www.solvusoft.com/en/files/missing-not-found-error/dll/windows/skype-for-com-api/skype4com/skype4com-dll/

干杯, WWC