Importar arquivos TXT para uma planilha.

Importar arquivos TXT para uma planilha.

Boa noite Senhores, Meu problema é o seguinte;

Estamos criando um sistema de gerenciamento dos relatórios daqui onde trabalho. Esses arquivos são gerados diariamente em arquivos TXT no seguinte formato.

18-10-01-Distribuidos.txt

1111111111 55555-44

1111111254 55789-44

1456871123 88795-44

11549987 99887-44

11110221415 47893-44

Normalmente eles têm duas colunas, mas podem ter mais. O número de linhas é indefinido.

Eles são gerados todos os dias na seguinte forma:

Pasta

18-10-01-MD-1

Arquivos

18-10-01-Distribuidos

18-10-01-Efetivados

18-10-01-Concluidos

18-10-01-Arquivados

Pasta

18-10-01-MD-4

Arquivos

18-10-01-Distribuidos

18-10-01-Efetivados
18-10-01-Concluidos
18-10-01-Inconsistentes
18-10-01-Arquivados

Estou tentando muito sem sucesso criar uma macro pra ler os arquivos e jogá-los no Calc. Cada pasta geraria um Arquivo do calc diferente com cada txt na respectiva planilha.
Por exemplo: o arquivo 18-10-01-MD-1 , conteria as planilhas 18-10-01-Distribuidos, 18-10-01-Efetivados, 18-10-01-Concluidos e 18-10-01-Arquivados com seus respectivos conteúdos.

É exatamente o que a função “Planilha>Inserir Planilha do arquivo” do libre Versão: 6.1.3.2 faz. Só que de forma automatizada. A função gravar macro infelizmente não pega essa rotina.

São umas 10 pastas todos os dias e o número de arquivos tb varia dentro delas.

O espaço seria a divisão das colunas.
Todas as pastas já estão definidas.

Ta me tirando o sono isso.

Se alguém puder me ajudar?

Ola @MarceloCaldas, eu uso esta Macro para inserir nova Planilha.
Deixo ela como sub-Macro e na chamada (Call) dou os parâmetros.

Sub TestePlanilhaNova
	Call PlanilhaNova "Testes" , 0
end sub

'================================================|
Sub PlanilhaNova ( xAba as String, yPosicao as Integer )
' A numeração das Planilhas começa com o (zero).
'================================================|
	thisComponent.getSheets.InsertnewByName( xAba,yposicao)
end Sub

No exemplo acima estou criando a Planilha Testes na posição 0.

Vi sua resposta agora, vou testar sua rotina. mas achei essa macro (que não coube aqui) num forum, funciona muito bem, agora só preciso juntar os arquivos da pasta dentro de uma unica planilha. Está progredindo.

Sub ImportarTXT()
Macro que converte txt em plannilha.
Ela pega todos os txt de uma pasta e gera arquivo ods com ele, nesse caso os separadores das colunas são espaços.

Dim FileNo As Integer
Dim CurrentLine As String
dim x,y,z as integer
dim s as object
dim oFolderPicker as object
dim NextFile as string
dim url as string
dim newworkbook as object
Dim Args(2) As new com.sun.star.beans.PropertyValue
dim sExport as string
dim oExport as object

oFolderPicker = createUnoService("com.sun.star.ui.dialogs.FolderPicker")
oFolderPicker.setdisplaydirectory("C:\Users\Documents\18-10 Z GERAR PLANILHAS AUTOMATICAS\MD-1")
oFolderPicker.execute

NextFile = dir(oFolderPicker.getdirectory & "/*.txt",0)

x = 0
y = 0
while NextFile <> ""

   x = x + 1
   NextFile = Dir
   
wend
   
NextFile = dir(oFolderPicker.getdirectory & "/*.txt",0)
   
while NextFile <> ""
   
   y = y +1
   
   thiscomponent.currentcontroller.statusindicator.start "Loading " & y &  " of the total " & x & " files ......",0
   
   url = oFolderPicker.getdirectory & "/" & left(NextFile,len(NextFile)-3) & "ods"
   
   MkDir oFolderPicker.getdirectory & "/Temporary/"
   
   FileCopy oFolderPicker.getdirectory & "/" & NextFile, oFolderPicker.getdirectory & "/Temporary/" & left(NextFile,len(NextFile)-3) & "csv"
   
   sExport = ConvertToURL(oFolderPicker.getdirectory & "/Temporary/" & left(NextFile,len(NextFile)-3) & "csv")
   
   Args(1).name = "FilterName"
   Args(1).Value = "Text - txt - csv (StarCalc)"
   Args(2).name = "FilterOptions"
   Args(2).Value = "32,0,76,1,1/2/2/2/3/2/4/2/5/2/6/2/7/2/8/2/9/2/10/2/11/2/12/2/13/2/14/2/15/2/16/2/17/2/18/2/19/2/20/2/21/2/22/2/23/2/24/2/25/2/26/2/27/2/28/2/29/2/30/2/31/2/32/2/33/2/34/2/35/2/36/2/37/2/38/2/39/2/40/2/41/2/42/2/43/2/44/2/45/2/46/2/47/2/48/2/49/2/50/2"
   Args(0).name = "Hidden"
   Args(0).value = True

   oExport = StarDesktop.loadComponentFromURL(sExport, "_blank", 0, Args())
  
   oExport.sheets(0).getcellrangebyposition(0,0,256,0).columns.OptimalWidth = true
  
   Args(0).Name = "CharacterSet"
    Args(0).Value = "UTF-8"
   
   oExport.storeasurl(url,Array())
                                                                                                                                                                                                                                                                                                                                   
  oExport.close(true)
   
   NextFile = Dir
   
wend 

RmDir oFolderPicker.getdirectory & "/Temporary/"

thiscomponent.currentcontroller.statusindicator.Reset

msgbox "complete"

end sub