Fórum
Ver pergunta

Erro Classe não Registada : Excel 2013 e V9   

75 visualizações
0
0

Estou a tentar correr a seguinte macro em VBA do Excel 2013:

 

Sub MyFirstMacroPrimavera()
    ... ' Define empresa, user e pass

    Dim Plataforma As ErpBS900.ErpBS

    Set Plataforma = New ErpBS900.ErpBS ' *** dá erro!! ***
    
    Plataforma.AbreEmpresaTrabalho tpProfissional, empresa, user, pass
    Plataforma.FechaEmpresaTrabalho
    
End Sub

Mas dá erro na linha assinalada, dizendo Classe não Registada.

Incluí a referência a ErpBS900.dll pelo VBA, mas não consigo incluir referência a Interop.ErpBS900.dll (é necessário?) – dá erro.

Tentei registar com regsvr32 e também com regasm as duas dll:

regasm Interop.ErpBS900.dll : sucesso

regasm ErpBS900.dll : sem sucesso

regsrv32 Interop.ErpBS900.dll : sem sucesso

regsrv32 ErpBS900.dll : com sucesso

 

Tenho Windows 10 64-bits…

 

Qual será o problema e qual é a livraria que devo registar?

 

Faça login para poder traduzir
Integração
Geral
Marcado como spam
Criado há 5 anos e 4 meses joodias
joodias Iniciante
1 respostas
1
Resposta privada

As unicas classes que deves refeenciar são as base ou seja, a ERPBS e não o Interop, esses apenas deves usar em projetos de plataforma .NET.

As classes podem não estar registadas porque tens em 64bits e para registar tens de usar a versão de 64 para ele adicionar isso no sitio certo.

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 4 meses sergiosereno
sergiosereno Most Valuable Professional
    Comentários
    Na command prompt com privilégios de administrador e na directoria das dlls do Primavera fiz: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe ErpBS900.dll O resultado foi: RegAsm : error RA0000 : Não foi possível carregar 'C:\Program Files (x86)\Common Files\PRIMAVERA\SG900\ErpBS900.dll' porque não é uma assemblagem do .NET válida Depois fiz: C:\Windows\SysWOW64\regsvr32.exe ErpBS900.dll Correu com sucesso. Voltei ao Excel 2013, ao VBA e voltou a dar o mesmo erro... Não tenho nenhum regsvr64...
    5 anos e 4 meses
    joodias