Notifications
Clear all

Option Explicit com erro ao executar

18 Posts
3 Usuários
0 Reactions
2,595 Visualizações
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Por favor, alguém poderia me auxiliar?
Quando tento executar essa macro ela da erro de analise de xml
Eu estou tentando usar essa macro para importar um arquivo xml (uma planilha mapeada)
Muito obrigado.

Option Explicit

Public Sub ListaArquivos()
'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime
Dim FSO As New FileSystemObject
Dim result() As String
Dim Pasta As Folder
Dim Arquivo As File
Dim Indice As Long
Dim caminho As String
caminho = "C:WCONFER"

ReDim result(0) As String
If FSO.FolderExists(caminho) Then
Set Pasta = FSO.GetFolder(caminho)

For Each Arquivo In Pasta.Files
' Indice = IIf(result(0) = "", 0, Indice + 1)
' ReDim Preserve result(Indice) As String
' result(Indice) = Arquivo.Name

ActiveWorkbook.XmlMaps("nfeProc_Mapa").Import URL:=caminho & Arquivo.Name & ".xml"
Next
End If

' ListaArquivos = result
ErrHandler:
Set FSO = Nothing
Set Pasta = Nothing
Set Arquivo = Nothing
End Sub



Public Sub ListaArquivos2()
'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime
Dim FSO As New FileSystemObject
Dim result() As String
Dim Pasta As Folder
Dim Arquivo As File
Dim Indice As Long
Dim caminho As String
caminho = "C:WCONFER"

ReDim result(0) As String
If FSO.FolderExists(caminho) Then
Set Pasta = FSO.GetFolder(caminho)

For Each Arquivo In Pasta.Files
' Indice = IIf(result(0) = "", 0, Indice + 1)
' ReDim Preserve result(Indice) As String
' result(Indice) = Arquivo.Name

ActiveWorkbook.XmlMaps("nfeProc_Mapa").Import URL:=caminho & "" & Arquivo.Name & ".xml"
Next
End If

' ListaArquivos = result
ErrHandler:
Set FSO = Nothing
Set Pasta = Nothing
Set Arquivo = Nothing
End Sub
 
Postado : 10/01/2018 10:22 am
(@klarc28)
Posts: 971
Prominent Member
 

Aqui há duas macros. Já tentou executar as duas? Dá o mesmo erro nas duas? Você fez referência à biblioteca Micrsoft Scripting Runtime? Anexe o arquivo. Execute o código passo a passo, apertando F8, veja em qual linha está dando erro.

 
Postado : 10/01/2018 10:38 am
(@klarc28)
Posts: 971
Prominent Member
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Olá, muito obrigado pelo vídeo.

sim, tentei usar as duas porém eu não consegui, por gentileza, você poderia verificar o que eu estou fazendo de errado?

Já referenciei, a planilha está salva na pasta indicada pelo código.

Muito obrigado pela atenção e ajuda.

anexa planilha com detalhes.

 
Postado : 10/01/2018 12:20 pm
(@klarc28)
Posts: 971
Prominent Member
 
Private Sub CommandButton1_Click()

Call ListaArquivos

End Sub

Public Sub ListaArquivos()
'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime
Dim FSO As New FileSystemObject
Dim result() As String
Dim Pasta As Folder
Dim Arquivo As File
Dim Indice As Long
Dim caminho As String
caminho = "C:WCONFER"

ReDim result(0) As String
If FSO.FolderExists(caminho) Then
Set Pasta = FSO.GetFolder(caminho)

For Each Arquivo In Pasta.Files
' Indice = IIf(result(0) = "", 0, Indice + 1)
' ReDim Preserve result(Indice) As String
' result(Indice) = Arquivo.Name

ActiveWorkbook.XmlMaps("nfeProc_Mapa").Import URL:=caminho & Arquivo.Name
Next
End If

' ListaArquivos = result
ErrHandler:
Set FSO = Nothing
Set Pasta = Nothing
Set Arquivo = Nothing

End Sub
 
Postado : 10/01/2018 12:51 pm
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Desculpe pelo erro com o sub :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:

A macro deu erro, por favor, você poderia me informar o que estou fazendo de errado

 
Postado : 10/01/2018 1:00 pm
(@klarc28)
Posts: 971
Prominent Member
 

Fiz algumas alterações no código acima. Favor verificar. Aqui percorreu os arquivos, depois deu erro de automação. Aí já não sei o que é.

 
Postado : 10/01/2018 1:03 pm
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Deu certo no seu computador?

No meu não deu certo.

Por favor, diga que deu certo no seu computador, você era a minha salvação :o :o :o :shock:

 
Postado : 10/01/2018 1:35 pm
(@klarc28)
Posts: 971
Prominent Member
 

Deu erro

 
Postado : 10/01/2018 2:10 pm
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:

Nesse caso não tem o que fazer, isso mesmo? :?: :?:

 
Postado : 10/01/2018 2:36 pm
(@klarc28)
Posts: 971
Prominent Member
 

Sobre esse erro, não sei o que fazer.

 
Postado : 10/01/2018 2:51 pm
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Agradeço muito pela atenção a minha dúvida.

Vou deixar esse tópico em aberto, quem sabe alguém consegue ajudar.

muito obrigado.

 
Postado : 11/01/2018 9:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Altere na linha--> ActiveWorkbook.XmlMaps("nfeProc_Mapa").Import URL:=caminho & Arquivo.Name
Para --> ActiveWorkbook.XmlMaps("nfeProc_Mapa").Import URL:=Arquivo

Public Sub ListaArquivos()
'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime
Dim FSO As New FileSystemObject
Dim result() As String
Dim Pasta As Folder
Dim Arquivo As File
Dim Indice As Long
Dim caminho As String
caminho = "C:Tempxml"

ReDim result(0) As String
If FSO.FolderExists(caminho) Then
Set Pasta = FSO.GetFolder(caminho)

For Each Arquivo In Pasta.Files
' Indice = IIf(result(0) = "", 0, Indice + 1)
' ReDim Preserve result(Indice) As String
' result(Indice) = Arquivo.Name

ActiveWorkbook.XmlMaps("nfeProc_Mapa").Import URL:=Arquivo
Next
End If

' ListaArquivos = result
ErrHandler:
Set FSO = Nothing
Set Pasta = Nothing
Set Arquivo = Nothing

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/01/2018 11:39 am
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Olá, bom dia!

Eu fiz como foi informado, porém continua com erro de automação.

Por gentileza, você poderia baixar os arquivos que eu postei e tentar executar a macro?

Muito obrigado pela atenção.

 
Postado : 12/01/2018 8:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Antes de postar minha resposta, já havia baixado e testado os arquivos; e conforme postei rodou ok, e trouxe info nos campos da tabela.
A unica alteração foi o diretorio, que nos meus testes foi em "C:Testexml", segue o arquivo conforme "rodei"

Procure executar essa rotina com o F8, e nas linhas que passar, possicione o cursor sobre a variavel e veja o valor assumido

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/01/2018 9:27 am
Página 1 / 2