W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
CurDir([drive])
Drive是一可選參數(shù),如果你忽略它,VBA將使用當(dāng)前驅(qū)動(drive)。?CurDir
當(dāng)你按下回車,VB就顯示當(dāng)前文件夾名稱,例如:?CurDir(“D:\”)
如果你提供了一個并不存在的驅(qū)動字母的話,VB就將顯示下述錯誤信息:“設(shè)備不可用”myDrive = Left(CurDir$,1)
當(dāng)你按下回車鍵時,VB將當(dāng)前驅(qū)動器的字母儲存到變量myDrive?myDrive
你還可以將上面的指令改為如下:myDrive = left(CurDir$,1) & ":"
VB將返回驅(qū)動器字母,后面帶有一個冒號。Name old_pathname As new_pathname
Old_pathname是你想用重命名的文件或文件夾的名稱和路徑,New_pathname則明確文件或文件夾的新名稱和位置。使用函數(shù)Name,你可以將一個文件從一個文件夾移動到另外一個文件夾,但是,你不可以移動文件夾。Dir[(pathname[, attributes])]
Dir函數(shù)的兩個參數(shù)都是可選的,pathname是文件或文件夾名稱,對于參數(shù)attributes,你可以下列常量或者數(shù)值之一:?Dir("C:\", vbNormal)
你一旦按下回車鍵,VB就會返回該文件夾下的第一個文件名。普通文件(vbNormal)就是除隱藏,卷標(biāo),目錄,文件夾或系統(tǒng)文件之外的任何文件。mfile = Dir("C:\", vbHidden)
?mfile
mfile = Dir
?mfile
mfile = Dir
?mfile
If Dir("C:\stamp.bat") = "" Then Debug.Print "文件未找到。"
因為stamp.bat文件不在C盤上,所以VB就在立即窗口里寫下文本信息“文件未找到?!?br>If Dir ("C:\Autoexec.bat") <>"" Then Debug.Print "該文件不在C盤上。"
函數(shù)Dir允許你在文件路徑名中使用通配符——星號(*)代表多個字符,問號(?)代表單個字符:?Dir("C:\WINNT\*.ini", vbNormal)
system.ini
?dir WIN.INI
?dir
WINFILE.INI
?dir control.ini
?dir EQUIP32.INI
?dir
sxpwin32.ini
下面顯示的過程在立即窗口里寫上了確定目錄下的文件名稱。函數(shù)LCase$讓文件名稱顯示為小寫字母。Sub MyFiles()
Dim mfile As String
Dim mpath As String
mpath = InputBox("Enter pathname,e.g., C:\Excel")
If Right(mpath, 1) <> "\" Then mpath = mpath & "\"
mfile = Dir(mpath & "*.*")
If mfile <> "" Then Debug.Print "Files in the " & mpath _
& "folder"
Debug.Print LCase$(mfile)
If mfile = "" Then
MsgBox "No files found."
Exit Sub
End If
Do While mfile <> ""
mfile = Dir
Debug.Print LCase$(mfile)
Loop
End Sub
上面的過程myFiles向用戶詢問文件路徑名。如果該路徑結(jié)尾沒有反斜杠,函數(shù)Right就會將反斜杠附加在路徑名字符串上。接下來,VB在該確定的文件夾里搜索所有文件(*)。如果沒有文件的話,就會有信息顯示,如果文件存在,那么文件名就會被寫入立即窗口。Sub GetFiles()
Dim nfile As String
Dim nextRow As Integer
nextRow = 1
'next row index
With Worksheets("Sheet1").Range("A1")
nfile = Dir("C:\", vbNormal)
.Value = nfile
Do While nfile <> ""
nfile = Dir
.Offset(nextRow, 0).Value = nfile
nextRow = nextRow + 1
Loop
End With
End Sub
過程GetFiles獲取C盤根目錄下的所有文件名并且將每個文件名寫入工作表。?FileDateTime("C:\config.sys")
?DateValue(FileDateTime("C:\config.sys"))
?TimeValue(FileDateTime("C:\config.sys"))
If DateValue(FileDateTime("C:\config.sys"))< Date then Debug.Print "This file was not
modified today.”
Date函數(shù)返回當(dāng)前系統(tǒng)日期,也是視窗控制面板的日期對話框里設(shè)定的。 Sub TotalBytesIni()
Dim iniFile As String
Dim allBytes As Long
iniFile = Dir("C:\WINDOWS\*.ini")
allBytes = 0
Do While iniFile <> ""
allBytes = allBytes + FileLen("C:\WINDOWS\" & iniFile)
iniFile = Dir
Loop
Debug.Print "Total bytes: " & allBytes
End Sub
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: