2014-10-23 6 views
2

Я пытаюсь использовать Excel VBA для отправки сообщений в Skype, и я нашел этот кодИспользование 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 .. Любая помощь по этому поводу очень ценится.

+0

jsut дикое предположение, но, возможно, это должно быть 'msg.oChat.SendMessage (« ваше сообщение »)' – mrbungle

ответ

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 для многопоточного общения.

+0

Awesome !! Большое спасибо .. – TrevorDhien

+1

Последующий вопрос, хотя, что, если это существующая чат-группа? – TrevorDhien

Смежные вопросы