Bom dia Daniel,
Pelo que entendi hoje vc executa essa macro para cada arquivo certo? E gostaria de automatizar esse processo podendo escolher mais de um arquivo por vês. Nesse caso você teria que digitar o valor da variável NDATA para cada arquivo, ou como imagino que seja melhor abrir uma caixa de diálogo e navegar até os arquivos selecionando um ou mais, assim você teria o caminho do(s) arquivo(s).
Segue abaixo um exemplo(não testado!), talvez vc precise adaptar o seu código para que essa mudança funcione.
Sub S()
dim arr_arquivos as variant ' este array irá armazenar os caminhos dos arquivos selecionados
' NDATA = InputBox("DIGITAR Data ") esse trecho agora é desnecessário
armazena o caminho dos arquivos selecionados
arr_caminhos = Application.GetOpenFilename(filefilter:="Arquivos ROT (*.rot*), *.rot*", _
MultiSelect:=True, Title:="Selecione os arquivos rot")
'inicia o looping para cada arquivo selecionado
For arr_caminhos = LBound(arr_caminhos) To UBound(arr_caminhos)
'daqui pra frente você vai ter que adaptar seu código usando a variável arr_caminhos no lugar do caminho do arquivo. Se tudo der certo você vai conseguir automatizar 'seu processo
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:Proces10101" & NDATA & ".ret", Destination:=Range("$A$2"))
.Name = "0101202.ret"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 9, 1, 9, 1, 9, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9, 1, 9)
.TextFileFixedColumnWidths = Array(3, 3, 4, 1, 12, 1, 6, 3, 17, 2, 3, 3, 4, 4, 12, 3, 8, 58, _
3)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Next
End Sub
V. Mussato
Office Developer
-------------------
Windows 7 64 bits
Office 2013
Postado : 11/02/2015 6:43 am