Excel使用Vba讀取文件夾下所有文件_第1頁(yè)
Excel使用Vba讀取文件夾下所有文件_第2頁(yè)
Excel使用Vba讀取文件夾下所有文件_第3頁(yè)
Excel使用Vba讀取文件夾下所有文件_第4頁(yè)
Excel使用Vba讀取文件夾下所有文件_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

最近使用VBA編程,要用到一個(gè)功能,使得Excel能夠讀取指定文件夾下的所有文件名稱。使用的是Excel2010版本,但是在Excel2003版本中能夠使用的FileSearch在Excel2010版中會(huì)出錯(cuò),因此不得不另找其它方法,下面介紹三種方法,在Excel單元格中顯示特定目錄下的文件名稱(文件大小,日期時(shí)間等),也可以自行修改符合自己的使用要求。在Excel2010和Excel2003版本中均測(cè)試過(guò)可行。我工作中使用繁體,第三種方法使用的是繁體,所以在簡(jiǎn)體系統(tǒng)下會(huì)亂碼,這個(gè)不會(huì)妨礙程序運(yùn)行,gongxi1是我設(shè)置的一個(gè)窗體,可忽略。第三種不僅僅能導(dǎo)入特定文件下的所有文件,也可以導(dǎo)入文件夾下的文件夾文件。第一種:Subtestit()DimkAsVariantDimmAsVariantm=1

myvar=FileList("C:\Users\ownding\SkyDrive\文檔\工作事項(xiàng)")

Fori=LBound(myvar)ToUBound(myvar)

Debug.Printmyvar(i)

Next

ForEachkInmyvar

Sheets("sheet1").Cells(m,1)=k

m=m+1

Nextk

EndSubFunctionFileList(fldrAsString,OptionalfltrAsString="*.*")AsVariant

DimsTempAsString,sHldrAsString

IfRight$(fldr,1)<>""Thenfldr=fldr&""

sTemp=Dir(fldr&fltr)

IfsTemp=""Then

FileList=Split("Nofilesfound","|")'確保返回?cái)?shù)組

ExitFunction

EndIf

Do

sHldr=Dir

IfsHldr=""ThenExitDo

sTemp=sTemp&"|"&sHldr

Loop

FileList=Split(sTemp,"|")EndFunction-----------------------------------------------------------------------------第二種:OptionExplicitSubListFiles()

DimDirectoryAsString

DimrAsLong

DimfAsString

DimFileSizeAsDouble

WithApplication.FileDialog(msoFileDialogFolderPicker)

.InitialFileName=Application.DefaultFilePath&""

.Title="Selectalocationcontainingthefilesyouwanttolist."

.Show

If.SelectedItems.Count=0Then

ExitSub

Else

Directory=.SelectedItems(1)&""

EndIf

EndWith

r=1'

插入表頭

Cells.ClearContents

Cells(r,1)="Filesin"&Directory

Cells(r,2)="Size"

Cells(r,3)="Date/Time"

Range("A1:C1").Font.Bold=True

'

獲得第一個(gè)文件

f=Dir(Directory,vbReadOnly+vbHidden+vbSystem)

DoWhilef<>""

r=r+1

Cells(r,1)=f

DoWhileLen(Filename)<>0

IfLeft(Filename,1)<>"."Then'諷玡dir

PathAndName=CurrDir&Filename

If(GetAttr(PathAndName)AndvbDirectory)=vbDirectoryThen

'纗т隔畖

ReDimPreserveDirs(0ToNumDirs)AsString

Dirs(NumDirs)=PathAndName

NumDirs=NumDirs+1

Else

'盢隔畖㎝嘿糶

Cells(WorksheetFunction.CountA(Range("A:A"))+2,1)=CurrDir

Cells(WorksheetFunction.CountA(Range("B:B"))+2,2)=Filename

'秸俱ゅン

Filesize=FileLen(PathAndName)

IfFilesize<0ThenFilesize=Filesize+4294967296#

Cells(WorksheetFunction.CountA(Range("C:C"))+2,3)=Filesize

Cells(WorksheetFunction.CountA(Range("D:D"))+2,4)=FileDateTime(PathAndName)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論