Вот так выглядит мой лист:
И это код, который изменит навыки для всех (у них будут только те, что здесь, в конце, это не добавляет навыков)
Это мой код:
Option Explicit
Dim cvsApp As New ACSUP.cvsApplication
Dim cvsConn As New ACSCN.cvsConnection
Dim cvsSrv As New ACSUPSRV.cvsServer
Dim Rep As New ACSREP.cvsReport
Sub SkillAgentes()
Application.ScreenUpdating = False
Set cvsSrv = cvsApp.Servers(1)
Dim LastRow As Long, LastCol As Long
Dim ws As Worksheet
Dim F As Integer, C As Integer, i As Integer, S As Integer, Prtr As Integer, ACD As Integer
Dim Skill As String, Agentes As String
Dim SetArr() As Variant
Dim AgMngObj As Object
Set ws = ThisWorkbook.Sheets("Cambios Skill")
Set AgMngObj = cvsSrv.AgentMgmt
LastRow = ws.Range("B" & ws.Rows.Count).End(xlUp).Row
ACD = 2
For i = 2 To LastRow
S = 1
LastCol = ws.Cells(i, 2).End(xlToRight).Column
Agentes = ws.Cells(i, ws.Cells.Find("login").Column)
ReDim SetArr((LastCol - 2) / 2, 4)
For C = 3 To LastCol Step 2
On Error Resume Next
Skill = ws.Cells(i, C)
Prtr = ws.Cells(i, C + 1)
SetArr(S, 1) = Skill
SetArr(S, 2) = Prtr
SetArr(S, 3) = 0
SetArr(S, 4) = 0
S = S + 1
Next C
AgMngObj.AcdStartUp -1, "", cvsSrv.ServerKey, -1
AgMngObj.OleAgentSetSkill_R16_1 ACD, Agentes, 1, 0, 0, 0, S - 1, SetArr, ""
Next i
ThisWorkbook.Save
MsgBox "Agentes puestos en sus skill de origen."
End Sub
Примечание: чтобы это работало, вам нужно проверить эти библиотеки (библиотеки с "FALTA")
Примечание 2: это работает для интерактивного приложения, поэтому Avaya должна быть открыта, а пользователь вошел в систему.