ProcessFromFolder secundário ()
'Este macro abre cada lima por sua vez e extrai os dados dele, grava-o na base de dados,
'fecha a lima, e move-se sobre para a lima seguinte. O macro igualmente grava o nome de arquivo de modo que
'processará somente uma lima se não tem sido processado antes. Usa uma “coleção” para
'os nomes da lima.
Fso não ofuscante como o objeto, fld como o objeto, fil como o objeto
Coll não ofuscante como a coleção nova
FileListWs não ofuscante como a folha
SourceWs não ofuscante como a folha
SourceWb não ofuscante como o manual de instruções
DestWs não ofuscante como a folha
TotFiles não ofuscante como por muito tempo
Contador não ofuscante como por muito tempo
WasOpen não ofuscante como bôoleano
Escurecer i como por muito tempo
Escurecer o rowe como por muito tempo
Escurecer a coluna como por muito tempo
Escurecer o lastrow como por muito tempo
Escurecer o errorflag como a corda
Application.ScreenUpdating = falso
errorflag = ""
'Determinar as limas processadas já
Ajustar FileListWs = ThisWorkbook.Worksheets (da “a lista lima”)
Ajustar DestWs = ThisWorkbook.Worksheets (a “base de dados”)
Com FileListWs
TotFiles = Application.CountA (. [a: a])
Se TotFiles > 0 então
Para o contador = 1 a TotFiles
coll. Adicionar. Pilhas (contrárias, 1). Pilhas (contrárias, 1)
Em seguida
Terminar se
Terminar com
'olhar o dobrador
Ajustar o fso = o CreateObject (“Scripting.FileSystemObject”)
'põr o trajeto cheio ao dobrador que contem arquivos de dados na linha de código seguinte
Ajustar o fld = o fso.GetFolder (“C:\Documents and Settings\Patrick & Thuc-Nghi \ minhas originais \ limas de Patrick \ Excel \ CaptG \ ")
Para cada fil no fld. Limas
No resumo do erro em seguida
coll. Adicionar o fil. Nome, fil. Nome
Se erram <> 0 então
'a lima já processada, não faz nada
Err.Clear
Mais
'não processado ainda; processá-lo
Com FileListWs
Se TotFiles = 0 então
. [A2] = fil. Nome
Mais
'. Pilhas (. Rows.Count, 1). Extremidade (xlUp). Offset (1, 0) = fil. Nome
. Pilhas (65536, 1). Extremidade (xlUp). Offset (1, 0) = fil. Nome
Terminar se
Terminar com
'ver se está já aberto
Ajustar SourceWb = manuais de instruções (fil. Nome)
Se erram <> 0 então
'não estava aberto
WasOpen = falso
Ajustar SourceWb = Workbooks.Open (fil. Trajeto)
Mais
WasOpen = retifica
Terminar se
Ajustar SourceWs = SourceWb.Sheets (1)
Com SourceWs
. Escala (. Pilhas (2, “A”). Pilhas (. Rows.Count, “A”). Extremidade (xlUp). Offset (0, 14)). Copiar o _
DestWs.Cells (DestWs.Rows.Count, “A”). Extremidade (xlUp). Offset (1, 0)
Extremidade com
errorflag = ""
Se não WasOpen então SourceWb.Close falso
Terminar se
Em seguida
Ajustar o coll = nada
Ajustar o fil = nada
Ajustar o fld = nada
Ajustar o fso = nada
Application.ScreenUpdating = retificam
MsgBox “feito”
Submarino da extremidade
|