excel_vba_编程教程(完整版)-第49部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
里讨论。
IsRootFolder 如果本文件夹为根文件夹则返回True
Name 文件夹名称
ParentFolder 该文件夹的父文件夹
Path 文件夹的完整路径
Size 文件夹大小,以字节表示
Function IsFolderEmpty(myFolder)
Dim fs; objFolder
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
Set objFolder = fs。GetFolder(myFolder)
IsFolderEmpty = (objFolder。Size = 0)
End Function
SubFolders 该文件夹中的子文件夹集合
Type 文件夹类型(例如文件夹或回收站)
28。驱动器对象属性
对象Drive提供了访问到电脑或服务器上某驱动的属性。下述代码创建了对Drive对象的引用:
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
Set objDrive = fs。GetDrive(“C:”)
在下面的表格里,你将看到好几个使用Drive对象的程序示例。
161
… 页面 178…
属性 描述
AvailableSpace 可用空间,字节表示
FreeSpace 同AvailableSpace
DriveLetter 驱动器字母(没有冒号)
DriveType 驱动器类型:
0 — 未知
1 — 可移动
2 — 固定
3 — 网络
4 — CD驱动
5 — RAM
Sub CDROM_DriveLetter()
Const CDROM = 4
Dim fs; colDrives
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
Set colDrives = fs。Drives
For Each Drive In colDrives
If Drive。DriveType = CDROM Then
MsgBox 〃The CD…ROM Drive: 〃 & _
Drive。DriveLetter
End If
Next
End Sub
FileSystem 文件系统,例如,FAT; NTFS或CDFS
IsReady 如果合适的媒体(例如CD)插入了并且可以访问则返回True
Function IsCDROMReady(strDriveLetter)
Dim fs; objDrive
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
Set objDrive = fs。GetDrive(strDriveLetter)
IsCDROMReady = (objDrive。DriveType = 4) And _
objDrive。IsReady = True
' run this function from the Immediate window
' by entering: ?IsCDROMReady(〃D:〃)
End Function
Path 根文件夹路径
SerialNumber 驱动器系列号
TotalSize 驱动器总容量,以字节表示
29。使用 WSH 创建文本文件
WSH提供了三种创建文本文件的方法:CreateTextFile,OpenTextFile和OpenAsTextStream。下面
的表格里列出了每种方法和示例。
方法/语法 示例
CreateTextFile object。CreateTextFile(filename'; overwrite'; unicode'')
Object是对象FileSystemObject或Folder的名称。
filename是明确要创建文件的字符串表达式。
Overwrite (可选的) 是个布尔值,表明你是否要覆盖已经存在
的文件,如果可以覆盖那么该值为True,如果不能覆盖则为
162
… 页面 179…
False,如果忽略,那么现存的文件将不会被覆盖。
Unicode (可选的) 是个布尔值,表明该文件创建为Unicode或者
ASCII类型的文件。如果文件创建为Unicode类型那么该值为真,
如果文件为ASCII的话那么该值为假。如果忽略掉,那么就会创
建ASCII类型的文件。
Sub CreateFile_Method1()
Dim fs; objFile
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
Set objFile = fs。CreateTextFile(〃C:Phones。txt〃; True)
objFile。WriteLine (〃Margaret Kubiak: 212…338…8778〃)
objFile。WriteBlankLines (2)
objFile。WriteLine (〃Robert Prochot: 202…988…2331〃)
objFile。Close
End Sub
上面的过程创建了一个文本文件来储存两个人的姓名和电话号
码。因为在覆盖参数处是一个True布尔值,所以,如果
C:Phones。txt已经存在的话就会被覆盖。
OpenTextFile object。OpenTextFile(filename'; iomode'; create';
format''')
Object是FileSystemObject对象的名称。
Filename是明确要打开的文件名称的字符串表达式。
Iomode (可选的) 是个布尔值,表示如果该文件不存在时是否创
建一个新文件,如果可以创建新文件则为真,否则为假。如果忽
略该参数,那么不会创建新文件。(译者,红色段落为原文翻译,
应该是错误的)
参数iomode 可以是下述常数之一:
ForReading (1)
ForWriting (2)
ForAppending (8)
Create (可选的) 是个布尔值,表示如果该文件不存在时是否创
建一个新文件,如果可以创建新文件则为真,否则为假。如果忽
略该参数,那么不会创建新文件。
Format (可选的) 是用来表明打开文件类型的三种类型之一。如
果忽略,文件就会打开为ASCII。
TristateTrue = 打开文件为ASCII。
TristateFalse =打开文件为Unicode。
TristateUseDefault = 使用系统默认方式打开文件
Sub CreateFile_Method2()
Dim fs; objFile
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
Set objFile = fs。OpenTextFile(〃C:Shopping。txt〃; _
ForWriting; True)
objFile。WriteLine (〃Bread〃)
objFile。WriteLine (〃Milk〃)
objFile。WriteLine (〃Strawberries〃)
objFile。Close
End Sub
OpenAsTextStream object。OpenAsTextStream('iomode; 'format'')
Object是File对象名称。
Iomode (可选的) 表明读写模式,它可以是下述三个常数之一:
163
… 页面 180…
ForReading (1)
ForWriting (2)
ForAppending (8)
Format (可选的) 是用来表明打开文件类型的三种类型之一。如
果忽略,文件就会打开为ASCII。
TristateTrue = 打开文件为ASCII。
TristateFalse =打开文件为Unicode。
TristateUseDefault = 使用系统默认方式打开文件
Sub CreateFile_Method3()
Dim fs; objFile; objText
Set fs = CreateObject(〃Scripting。FileSystemObject〃)
fs。CreateTextFile 〃New。txt〃
Set objFile = fs。GetFile(〃New。txt〃)
Set objText = objFile。OpenAsTextStream(ForWriting; _
TristateUseDefault)
objText。Write 〃Wedding Invitation〃
objText。Close
Set objText = objFile。OpenAsTextStream(ForReading; _
TristateUseDefault)
MsgBox objText。ReadLine
objText。Close
End Sub
30。使用 WSH 进行其它操作
WSH使任何安装在你计算机上的自动化对象的操作成为可能。
除通过FileSystemObject访问文件系统之外,WSH也允许你进行其它的一些操作,例如,处理WSH
和ActiveX对象,设定和去除打印机和远程驱动器,操纵注册表,创建视窗和互联网快捷方式以及
访问Windows NT 活动地址服务。WSH对象模型由下述三种主要对象组成:WScript,WshShell和
WshNetwork。本节示范如何利用WshShell对象来编写程序启动其它应用程