Página 1 de 1

Importar txt - trazendo o nome do arquivo origem

Enviado: 21 Dez 2015 às 12:45
por daniexcel
Boa tarde
Tenho um arquivo, onde eu importo um txt através de uma caixa de dialogo. No entanto, gostaria que o nome do arquivo pudesse ser inserido em uma célula específica.
Tenho duas planilhas dentro do meu arquivo . Uma chamada "MAIN" e a outra chamada "IMPORT"

o botão da macro fica na célula MAIN e os dados importados são colados automaticamente na planilha IMPORT.
Gostaria que após a inserção dos dados na planilha IMPORT, em alguma celula da MAIN, eu pudesse trazer o nome do arquivo que foi importado.
Alguem por favor, poderia me ajudar?

Importar txt - trazendo o nome do arquivo origem

Enviado: 21 Dez 2015 às 13:17
por Parkeless
Boa tarde!

Talvez postando o código que você usou para importar, eu consiga te ajudar... mas, dependendo, só postando a planilha mesmo (pode ser uma de exemplo, mas com o mesmo layout e macros).

Você consegue disponibilizar?

Importar txt - trazendo o nome do arquivo origem

Enviado: 21 Dez 2015 às 13:58
por daniexcel
Boa tarde Robson.
Segue codigo
Código: Selecionar todos
 Sub ImportDados()

       Dim DestBook As Workbook, SourceBook As Workbook
       Dim DestCell As Range
       Dim RetVal As Boolean

' Limpar dados da aba History
    Sheets("Import").Visible = True
    Sheets("Import").Select
        Range("A1").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    



       ' Apaga Dados.
       Application.ScreenUpdating = False

       ' Define variaveis.
       Set DestBook = ActiveWorkbook
       Set DestCell = ActiveCell

    
       ' abre caixa de dialogo.
       RetVal = Application.Dialogs(xlDialogOpen).Show("*.txt")


    
       ' Se Retval for falso, cancelar caixa de dialogo
       If RetVal = False Then Exit Sub

       ' variavel para texto
       Set SourceBook = ActiveWorkbook

       ' copia os dados da planilha
       Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy

       ' Ativar workbook destino e colar valores do arquivo.
       ' DestBook.Activate
       ' DestCell.PasteSpecial Paste:=xlValues
        Range("A1").Select
              DestBook.Activate
       DestCell.PasteSpecial Paste:=xlAll

       ' Fechar arquivo de conexao
       SourceBook.Close False
    
        Selection.End(xlUp).Select
    


    
    ' RETORNAR PARA MAIN
        Sheets("Main").Select
        Range("A1").Select
    
    'Mensagem de Texto para próxima ETAPA
    MsgBox "Dados importados com sucesso", 64


   End Sub
o que eu gostaria é que o FileName viesse em alguma célula da planilha MAIN. se possível, que viesse o path tambem.

Voce poderia me auxiliar?
=)

Importar txt - trazendo o nome do arquivo origem

Enviado: 21 Dez 2015 às 14:39
por Parkeless
Tenta isso:
Código: Selecionar todos
Sub ImportDados()

 Dim DestBook As Workbook, SourceBook As Workbook
 Dim DestCell As Range
 Dim RetVal As Boolean

' Limpar dados da aba History
 Sheets("Import").Visible = True
 Sheets("Import").Select
  Range("A1").Select
 Cells.Select
 Selection.Delete Shift:=xlUp




 ' Apaga Dados.
 Application.ScreenUpdating = False

 ' Define variaveis.
 Set DestBook = ActiveWorkbook
 Set DestCell = ActiveCell


 ' abre caixa de dialogo.
 RetVal = Application.Dialogs(xlDialogOpen).Show("*.txt")



 ' Se Retval for falso, cancelar caixa de dialogo
 If RetVal = False Then Exit Sub
 
  ' variavel para texto
 Set SourceBook = ActiveWorkbook
 
 
 'Modificação Parkeless nº 1 - obter nome do arquivo e endereço
 Dim Endereço As String
 Dim Nome_Arquivo As String
 Nome_Arquivo = ActiveSheet.Name
 Endereço = SourceBook.FullName
 

 ' copia os dados da planilha
 Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy

 ' Ativar workbook destino e colar valores do arquivo.
 ' DestBook.Activate
 ' DestCell.PasteSpecial Paste:=xlValues
  Range("A1").Select
DestBook.Activate
 DestCell.PasteSpecial Paste:=xlAll

 ' Fechar arquivo de conexao
 SourceBook.Close False

  Selection.End(xlUp).Select




 ' RETORNAR PARA MAIN
  Sheets("Main").Select
 'Modificação Parkeless nº 2 - incluir nome e endereço na célula A1 e B1
 Range("A1") = Nome_Arquivo
 Range("B1") = Endereço
  
  Range("A1").Select

 'Mensagem de Texto para próxima ETAPA
 MsgBox "Dados importados com sucesso", 64


End Sub
Se quiser alterar alguma coisa, minhas modificações tem os comentários, "Modificação Parkeles nº x".

Importar txt - trazendo o nome do arquivo origem

Enviado: 21 Dez 2015 às 18:32
por daniexcel
deu super certo =)

Agradeço imensamente pela ajuda