FAQEntrarOle Error 80070002 ou Ole Error 80040002

O erro "Ole Error 80070002 ou Ole Error 80040002" ocorre quando tentamos instanciar a DLL e a mesma não existe na pasta da aplicação.

A solução é providenciar a cópia da DLL e as pastas URL, Schemas e DPEC para a pasta do aplicação, que provavelmente não devem existir também.

O erro também ocorre quando o framework de desenvolvimento é Visual Basic - VB 6.0, VBA ou Visual FoxPro que tem a particularidade de executar a aplicação em modo debug na pasta onde está instalado o framework (Ex. VB 6.0 => arquivos de programas\...\Microsoft Visual Studio\VB98\), bastando copiar a DLL e as pastas URL, Schemas e DPEC para a pasta.

O erro não ocorre se a aplicação for compilada, pois o executável roda na pasta da aplicação.

Para maiores detalhes dos arquivos e pastas que devem ser copiados, recomendamos a leitura do Guia de Uso da Biblioteca, disponível em http://nf-eletronica.com/blog/?page_id=118.

Muitos usuários tem dificuldade para identificar a pasta do framework utilizado.

Uma solução é utilizar a função Application.Path do VB, segue código que trata o erro e mostra o path da aplicação:

Private sub CommandButton1_Click()
'
' Exemplo para obter versão da DLL em uso
'

'
' instancia classe
'
On Error GoTo InexisteDLL

Dim objNFeUtil As NFe_Util.Util

Set objNFeUtil = New NFe_Util.Util

'
' obtem versão
'

MsgBox "A versão da DLL é: " + objNFeUtil.Versao, vbInformation, "Resultado"
'
' libera classe
'
Set objNFeUtil = Nothing

Exit Sub

InexisteDLL:

MsgBox "A DLL NFe_Util e demais pastas devem ser copiadas para a pasta: " + Application.Path, vbCritical, "Erro"

End Sub