我正在尝试使用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")
那应该将消息发送到组联系人,但我似乎无法将其集成到上面的代码中。非常感谢。
最佳答案
您需要定义多个用户。一种方法是使用集合。
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页。