Notifications
Clear all

Option Explicit com erro ao executar

18 Posts
3 Usuários
0 Reactions
2,530 Visualizações
(@jnexcel)
Posts: 0
New 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: 0
New 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: 0
New Member
(@jnexcel)
Posts: 0
New 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: 0
New 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: 0
New 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: 0
New 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: 0
New 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: 0
New Member
 

Deu erro

 
Postado : 10/01/2018 2:10 pm
(@jnexcel)
Posts: 0
New 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: 0
New Member
 

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

 
Postado : 10/01/2018 2:51 pm
(@jnexcel)
Posts: 0
New 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
(@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
 
Postado : 11/01/2018 11:39 am
(@jnexcel)
Posts: 0
New 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
(@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

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