locked
Problema com Macro - Não abre o arquivo mesmo se ele existir RRS feed

  • Pergunta

  • Caros Amigos!

     

    Estou implementando uma rotina que faz o download de um arquivo, monta como itens em um combo e depois apaga o arquivo. Este arquivo é um TXT simples gerado por um código PHP.

    Pois bem.. a macro faz o download do arquivo certinho (eu vou na pasta e vejo que ele está criado lá), porém, na linha onde o arquivo deve ser aberto gera o seguinte erro:

    "Erro de tempo de execução '52'. Nome ou número de arquivo incorreto"

    Eis o trecho do código em questão:

    Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
    Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
    End Function
    
    Private Sub UserForm_Initialize()
      'Declaração de variáveis
      Dim NumeroArquivo As Integer 'Referência ao arquivo TXT
      Dim Linha As String 'Linha que está sendo analisada
      Dim CaminhoArquivo As String 'Caminho do arquivo a ser importado
      
      'Baixa o arquivo da internet
      CaminhoArquivo = ActiveWorkbook.Path & "\~resultado.txt"
      Download.DownloadFile "http://www.braulioti.com.br/suplementos/registros.php", CaminhoArquivo
      
      'Abre o arquivo TXT
      Open CaminhoArquivo For Input As #NumeroArquivo
      cboRegistro.Clear
      
      'Passa por todas as linhas do arquivo
      Do Until EOF(NumeroArquivo)
        Line Input #NumeroArquivo, Linha
        
        'Adiciona as linhas ao combo
        If Trim(Linha) <> "" Then
          cboRegistro.AddItem Linha
        End If
      Loop
      
      'Fecha o arquivo
      Close #NumeroArquivo
      
      'Apaga o arquivo temporário
      Kill CaminhoArquivo
    End Sub
    

     

    Grato pela atenção de sempre aguardo respostas

     

    Bráulio Figueiredo

    braulio@braulioti.com.br - http://www.braulioti.com.br

    twitter: https://twitter.com/braulio_fp

    segunda-feira, 23 de agosto de 2010 11:55

Respostas

Todas as Respostas

  • Tente adicionar

    NumeroArquivo = FreeFile

    antes de abrir o arquivo.

    segunda-feira, 23 de agosto de 2010 23:45
  •  

    Perfeito. Muito Obrigado!

     

    Bráulio Figueiredo

    braulio@braulioti.com.br - http://www.braulioti.com.br

    twitter: https://twitter.com/braulio_fp

    terça-feira, 24 de agosto de 2010 11:11