使用Excel VBA将Skype消息发送到群聊

时间:2014-10-23 09:40:47

标签: excel excel-vba skype skype4com vba

我正在尝试使用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 ..对此有任何帮助非常感谢..

1 个答案:

答案 0 :(得分:2)

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

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

这是一个很棒的resource from Skype,里面有很多VBA示例。有关多聊天的信息,请参见第21页。