【发布时间】:2018-05-04 15:37:33
【问题描述】:
目标:在某个宏完成后向 Skype 联系人发送消息。
来源:我四处搜索并在 SO 中发现了几个问题,试图做同样的事情。这是我使用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 的代码的基础 这两个问题都使用类似的代码。
问题:运行代码时出现以下错误:
运行时错误“429”: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:我在我创建的每个模块中都使用显式选项。
【问题讨论】:
-
可能您使用的是 Skype for Business,而 SKYPE4COMLIB.skype 不支持 Skype / Lync for business stackoverflow.com/questions/43139603/…
-
@PankajKushwaha 已经检查过了,我使用的是普通的Skype版本。
-
Skype4COM 1.0 Type Library是否显示在 tools >> references 中?被选中了吗? -
试试
Set aSkype = CreateObject("SKYPE4COMLib.Skype")。这有什么不同吗? -
从 cmd 调用
reg QUERY HKCR\WOW6432Node\CLSID\{830690FC-BF2F-47A6-AC2D-330BCB402664}\InprocServer32或执行regedit以查看注册表。