【问题标题】:Sending a message in Skype with VBA使用 VBA 在 Skype 中发送消息
【发布时间】:2018-05-04 15:37:33
【问题描述】:

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

来源:我四处搜索并在 SO 中发现了几个问题,试图做同样的事情。这是我使用Using Excel VBA to send Skype messages to Group Chathttps://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 以查看注册表。

标签: vba excel skype skype4com


【解决方案1】:

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

“Skype for Business”基本上是自 2013 年以来重新命名的 Lync,因此了解这一点很重要

Skype <> "Skype for Business"

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


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

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

Lync 2013 SDK documentation

因为这是适用于 Skype Desktop、Lync 和所有以下 SFB 版本的单一可用 SDK。

Persistent chat samples 是一个应该用来开发与此问题类似的解决方案的人。

【讨论】:

    【解决方案2】:

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

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

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

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

    点击开始按钮。

    在搜索框中输入“命令”...暂时不要按 ENTER!

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

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

    点击是。

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

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

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

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

    关闭命令提示符窗口。

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

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

    干杯, 世界大会

    【讨论】:

    • 感谢您的回答。我已经试过了,也试过重新安装Skype和Office。结果相同。
    猜你喜欢
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 2012-05-06
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多