Ir para conteúdo
Fórum Script Brasil
  • 0

Problema: Importar relatório Avaya para Excel


Fernando Stocco

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...