- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel2002VBA_Ch8.doc
第八章 利用VBA操纵文件和文件夹
作者:Julitta Korol 翻译:Tiger Chen Mar 5’ 2005
在工作过程中,你肯定访问、创建、复制和删除过成百上千的文件和文件夹。然而,你可能从未用程序执行过这些任务。所以,现在就是机会。本章侧重于专门处理文件和文件夹的VBA函数和指令。通过使用这些函数,你将能够:
获得当前文件夹的名称(CurDir函数)
更改文件和文件夹名称(Name函数)
检查某文件或文件夹是否存在于某硬盘上(Dir函数)
获取某文件最后修改的时间和时间(FileDateTime函数)
获取文件大小(FileLen函数)
检查和更改文件属性(GetAttr和SetAttr函数)
更改缺省文件夹或者硬盘(ChDir和ChDrive语句)
创建和删除文件夹(MkDir和RmDir语句)
复制和删除文件或文件夹(FileCopy和Kill语句)
此外,本章也给你往三类文件写入或者读取数据的知识:连续的,随机的和二进制的文件。除了使用Excel应用软件界面之外,你将学习如何直接操作文件。在本章的最后,将给你介绍最新的操作文件和文件夹的方法,通过利用称为Windows Scripting Host (WSH)的工具来操作文件和文件夹。
操作文件和文件夹
本节将讨论多种操作文件和文件夹的函数。
获取当前文件夹的名称(CurDir函数)
当你使用文件时,经常会需要知道当前文件夹的名称,你使用CurDir函数轻易地获取该信息:
CurDir([drive])
Drive是一可选参数,如果你忽略它,VBA将使用当前驱动(drive)。
CurDir函数返回一个文件路径作为Variant(变量)。如果要返回作为字符串(String)的路径的话,就得使用CurDir$(这里的$是字符串的类型声明字符)。让我们在立即窗口里做些练习,练习使用这些函数吧:
打开一个新工作簿,并且切换到VB编辑器窗口
激活立即窗口并敲入下述代码:
?CurDir
当你按下回车,VB就显示当前文件夹名称,例如:
C:\
如果你有第二个硬盘(或者光驱)的话,你可以获取D盘上的当前文件夹,例如:
?CurDir(“D:\”)
如果你提供了一个并不存在的驱动字母的话,VB就将显示下述错误信息:“设备不可用”
要储存当前驱动名称到变量myDrive,可以输入下述指令:
myDrive = Left(CurDir$,1)
当你按下回车键时,VB将当前驱动器的字母储存到变量myDrive
敲入下述指令并回车,可以检查变量myDrive的内容:
?myDrive
你还可以将上面的指令改为如下:
myDrive = left(CurDir$,1) :
VB将返回驱动器字母,后面带有一个冒号。
更改文件或文件夹名称(Name函数)
使用函数Name可以重命名文件或者文件夹,例如:
Name old_pathname As new_pathname
Old_pathname是你想用重命名的文件或文件夹的名称和路径,New_pathname则明确文件或文件夹的新名称和位置。使用函数Name,你可以将一个文件从一个文件夹移动到另外一个文件夹,但是,你不可以移动文件夹。
请在立即窗口里试演该函数(用你文件的实际名称替换示例名称)。这里有些需要考虑的注意事项:
在New_pathname里的文件名称不要指向已经存在的文件
Name C:\System.1st As C:\test.txt
因为文件C:\test.txt已经存在于C盘,VB将显示错误信息:“文件已存在”,同样,如果你要重命名的文件不存在的话,就会出现“文件未找到”的错误信息。
如果New_pathname已经存在,并且和Old_pathname不同,函数Name必要时将文件移动到新文件夹并且更改它的名称。
Name C:\System.1st As D:\test.txt
因为文件test.txt在D盘的根目录下并不存在,VB将C:\System.1st移动到指定的驱动盘,然而,并不重命名该文件。(译者:本段与上面的内容似乎矛盾,而且未能试验成功,未知是原书失误与否。读者应仔细验证)
如果New_pathname和Old_pathname指向不同的目录,以及提供的文件名称相同,那么Name函数将指定的文件移到新地址,不用更改文件名。
Name D:\test.txt As C:\DOS\test.txt
上面的指令将test.txt移动到C盘下的DOS文件夹里。
技巧8-1 你不能重命名开启的文件
在重命名文件之前,你必须关闭该文件。文件名称里不能包含通配符“*”或者“?”。
检查文件或文件夹是否存在(Dir函数)
Dir函数,返回文件或者文件夹名称,语法如下:
Dir[(pathn
文档评论(0)