2

我正在尝试使用 Excel VBA 发送 Skype 消息,我找到了这段代码

Sub Test()

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 "automated message"

End Sub

它工作得很好,但只适用于单个联系人..我也找到了这段代码

msg.Chat.SendMessage("your message")

这应该向群组联系人发送消息,但我似乎无法将其集成到上面的代码中。我在网上找到了一些链接,暗示它是可能的,但它们都是 C# 而不是 VBA 。任何帮助这是非常感谢..

4

1 回答 1

3

您需要定义多个用户。一种方法是使用集合。

Sub Test()    
  Dim aSkype As SKYPE4COMLib.Skype
  Set aSkype = New SKYPE4COMLib.Skype
  Dim oChat As Chat
  Dim skUser As SKYPE4COMLib.User

  Set oMembers = CreateObject("Skype4COM.UserCollection")
  oMembers.Add(oSkype.User("user_name1"))
  oMembers.Add(oSkype.User("user_name2"))

  Set oChat = oSkype.CreateChatMultiple(oMembers)       
  oChat.OpenWindow
  oChat.Topic = "Group Chat Topic"
  oChat.SendMessage "automated message"     
End Sub

这是来自 Skype 的一个很好的资源,其中包含许多 VBA 示例。多聊天请参见第 21 页。

于 2014-10-23T17:20:27.040 回答