Jump to content
Fórum Script Brasil
  • 0

Problema: Importar relatório Avaya para Excel


Fernando Stocco

Question

Bom pessoal, é o seguinte:

Primeiramente: Alguém aqui conhece o programa Avaya? Digo isso porque trabalho com ele na empresa. Ele é totalmente baseado em VB, então facilita muito as coisas.

Problema: Estou precisando extrair um relatório desse programa e exportá-lo para o Excel. Até tenho um scrip, que o próprio Avaya oferece. Abaixo está ele:

Public Sub Main()

'## cvs_cmd_begin
'## ID = 2001
'## Description = "Relatório: Histórico: Designer: Report Daily with SKILLS: Exportar Dados"
'## Parameters.Add "Relatório: Histórico: Designer: Report Daily with SKILLS: Exportar Dados","_Desc"
'## Parameters.Add "Reports","_Catalog"
'## Parameters.Add "2","_Action"
'## Parameters.Add "0","_Quit"
'## Parameters.Add "Historical\Designer\Report Daily with SKILLS","_Report"
'## Parameters.Add "1","_ACD"
'## Parameters.Add "3645","_Top"
'## Parameters.Add "-45","_Left"
'## Parameters.Add "15540","_Width"
'## Parameters.Add "6855","_Height"
'## Parameters.Add "O relatório Historical\Designer\Report Daily with SKILLS não foi encontrado no DAC 1.","_ReportNotFound"
'## Parameters.Add "*","_BeginProperties"
'## Parameters.Add "423","Grupos/Especialidades"
'## Parameters.Add "-1","Datas"
'## Parameters.Add "*","_EndProperties"
'## Parameters.Add "*","_BeginViews"
'## Parameters.Add "*","_EndViews"
'## Parameters.Add "","_Output"
'## Parameters.Add "9","_FldSep"
'## Parameters.Add "0","_TextDelim"
'## Parameters.Add "True","_NullToZero"
'## Parameters.Add "True","_Labels"
'## Parameters.Add "True","_DurSecs"

   On Error Resume Next

   cvsSrv.Reports.ACD = 1
   Set Info = cvsSrv.Reports.Reports("Historical\Designer\Report Daily with SKILLS")

   If Info Is Nothing Then
      If cvsSrv.Interactive Then
          MsgBox "O relatório Historical\Designer\Report Daily with SKILLS não foi encontrado no DAC 1.", vbCritical Or vbOKOnly, "Avaya CMS Supervisor"
      Else
             Set Log = CreateObject("ACSERR.cvsLog") 
          Log.AutoLogWrite "O relatório Historical\Designer\Report Daily with SKILLS não foi encontrado no DAC 1."
          Set Log = Nothing
      End If
   Else

       b = cvsSrv.Reports.CreateReport(Info,Rep)
       If b Then
    
          Rep.Window.Top = 3645
          Rep.Window.Left = -45
          Rep.Window.Width = 15540
          Rep.Window.Height = 6855        
    

    
          Rep.SetProperty "Grupos/Especialidades","423"
    
          Rep.SetProperty "Datas","-1"
    
    
    

          b = Rep.ExportData("C:\Documents and Settings\fernando.junior\Meus documentos\teste.xlm", 9, 0, True, True, True)

    

    

              If Not cvsSrv.Interactive Then cvsSrv.ActiveTasks.Remove Rep.TaskID
          Set Rep = Nothing
       End If

   End If
   Set Info = Nothing
'## cvs_cmd_end

End Sub

O que eu quero fazer com isso é o seguinte: Transferir o relatório gerado para uma pasta específica do Excel. Esse relatório em particular é rodado aqui na empresa de tempo em tempo, ou seja, toda vez gera uma pasta de trabalho com uma planilha diferente. estamos tentando fazer um scrip que pegue essas informações mas na mesma pasta Excel, porém em uma planilha diferente. Assim, teríamos todos esses relatórios arquivados em um único lugar.

Espero que tenham entendido o meu problema e que possam me ajudar.

Obrigado pela atenção;

Fernando Stocco

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Fernando, caso seja útil ainda:

As necessidades que você relatou requisitarão um código mais complexo em VB dentro da sua planilha.

1. O primeiro passo é habilitar o script para "enxergar" a sua planilha. Para isto insira o seguinte código:

set planilha = getobject ("C:\PlanilhaExemplo.xls")

onde "planilha" e "C:\PlanilhaExemplo.xls" são exemplos genéricos que criei para o objeto e o endereço da planilha.

com este comando, você consegue executar todas as funções VB dentro do script Avaya como laços (While, For...), condicionais e comandos de referências para as células da planilha.

Exemplo de interação com a planilha:

fim = planilha.sheets("Plan1").cells(1,1)

for x=1 to fim

planilha.sheets("Plan1").cells(x+1,1) = Teste & x

next

dependendo do valor contido em na célula A1, o código acima lê o conteúdo da célula A1 e escreve "Teste1" na célula A2, "Teste2" na célula A3, "Teste3" na célula A4...

2. Segundo passo é executar a Macro da planilha que fará as demais tarefas que você necessita. Posicione este código conforme seu algoritmo:

planilha.application.run "'PlanilhaExemplo.xls'!NomeDaMacro"

Substitua "planilha" pelo nome que você atribuir na declaração set anterior e "NomeDaMacro" pelo nome da sua macro. Ponto de atenção para as aspas simples

Abraço.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...