
Tenho uma pasta de trabalho do Excel que processa a saída do modelo de outro programa. Esse programa produz arquivos de saída de texto simples delimitados por espaço com um".plt"extensão. Tenho uma conexão de dados no Excel para trazer esses dados, mas isso requer mais cliques do que gostaria. Atualmente o fluxo de trabalho é este:
- Execute outro modelo.
- No Excel, clique em Dados->Atualizar tudo
- Na caixa de diálogo de arquivo que se abre, clique em"Arquivos de texto (*.prn, *.txt, *.csv)"
- Pull Down aparece - clique em:"Todos os arquivos (*.*)".
- Selecione o nome do arquivo na lista (o nome do arquivo nunca muda - Sempre"Saída.plt")
- Selecione"Importar."
A partir daqui, ele lembra todas as configurações da conexão de dados - locais, texto para colunas, etc. Como o nome do meu arquivo nunca muda, gostaria que ele lembrasse o nome do meu arquivo, para que eu tivesse apenas um ou dois cliques, em vez de 5.
Tentei gravar uma macro, passando por todos esses passos, mas a única peça que apareceu no VBA éActiveWorkbook.RefreshAll
Responder1
Existe uma opção para solicitar o nome do arquivo.
Vá em Dados/Conexões, escolha sua conexão, clique em propriedades.
Na seção de controle de atualização, na guia Uso, desmarque a caixa "solicitar o nome do arquivo na atualização"
Responder2
Dim File_Path As String
File_path=" C:\Users\owner\John\Output.plt"
Open File_Path for Input as #1
row_num= 5
Do until EOF(1)
Line Input #1, Line_FromFile
Line_Items = Split(Line_FromFile, ",")
Range("C"&row_num).Value = Line_Items(2)
Range("B"&row_num).Value = Line_Items(1)
Range("A"&row_num).Value = Line_Items(0)
row_num = row_num + 1
Loop
Close #1