Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako extrahovať Excel súbory z viacerých zložiek s VBA

Vedieť , ako extrahovať súbory programu Excel z niekoľkých zložiek pomocou jazyka Visual Basic for Applications ( VBA ) vám môže ušetriť čas , kedy budete musieť vyhľadať v počítači súborov programu Excel uložiť ich do jednej zložky . VBA je možné použiť v programoch balíka Microsoft Office , ako je Excel automatizovať rutinné úlohy , ako je vyhľadávanie súborov v priečinkoch . Najlepší spôsob , ako vyhľadávať súbory v rôznych zložkách je pomocou rekurzívne programovanie . Rekurzívne programovanie sa používa , keď potrebujete funkcie volať seba v rámci funkcie . Veci , ktoré budete potrebovať v Microsoft Office
Zobraziť ďalšie inštrukcie Cestuj 1

Spustite program Microsoft Office Excel , kliknite na tlačidlo " Developer " a kliknite na " Visual Basic " pre spustenie VB Editor . Kliknite na " Vložiť " menu a kliknite na " modul " vložiť nový kód modulu
2

Zadajte nasledujúci vytvoriť nový čiastkové postup : .

Dim colFiles As New Collection
3

skopírujte a vložte nasledujúci vytvárať premenné :

Dim extractPath As String Dim

filename As String Dim

pos As Integer
Stránka 4

Zadajte cestu , kam chcete skopírovať súbory programu Excel nájdené :

extractPath = " C : \\ Temp \\ "
5

Pridajte nasledujúci kód volanie funkcie , ktorá nájde súbory programu Excel pre extrakciu :

RecursiveDir colFiles , " F : \\ moreExcelFiles \\ " , " . * XLSX " , pravda
6

Pridajte nasledujúci kód skopírujte súbory nájdené na ceste definovanej v kroku 3 :

Dim vFile As Variant

každý vFile v colFiles

pos = InStrRev ( vFile , " \\ " , , vbTextCompare )

filename = Right ( vFile , Ľan ( vFile ) - pos )

FileCopy vFile , extractPath & fileName

Ďalšie vFile

End sub ​​
7

Definujte funkciu " RecursiveDir " pre vyhľadanie zložky a podzložky pre súbory programu Excel :

Public Function RecursiveDir ( colFiles je zhromažďovanie , _

strFolder As String , _

strFileSpec As String , _

bIncludeSubfolders As Boolean )

Dim strTemp As String Dim

colFolders ako nová kolekcia

Dim vFolderName As Variant

strFolder = TrailingSlash ( strFolder )

strTemp = Dir ( strFolder & strFileSpec )

robiť , keď strTemp < > ; vbNullString

colFiles.Add strFolder & strTemp

strTemp = Dir

Loop

Ak bIncludeSubfolders Potom

strTemp = Dir ( strFolder , vbDirectory )

robiť , keď strTemp < > vbNullString

( strTemp < > " . " ) a ( strTemp < > " .. " ) Potom

( GetAttr ( strFolder & strTemp ) a vbDirectory ) < > 0 Then

colFolders.Add strTemp

End If

End If

strTemp = Dir

Loop

každý vFolderName V colFolders

Volajte RecursiveDir ( colFiles , strFolder a vFolderName , strFileSpec , true )

Ďalšie vFolderName

End If

End Function
8

Vytvorte nasledujúce funkcie pridať alebo odobrať " \\ " od zložky cesty :

Public funkcie TrailingSlash ( strFolder As String ) As String

If Ľan ( strFolder ) > 0 Then

Ak Right ( strFolder , 1 ) = " \\ " Tak

TrailingSlash = strFolder

Else

TrailingSlash = strFolder & " \\ "

End If

End If

End Function

9

kliknite vnútri " extractExcelFiles " sub - procesu a kliknite na " F5 " pre spustenie programu .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené