VBA操作文件与文件夹步骤.pdfVIP

  • 104
  • 0
  • 约4.79千字
  • 约 6页
  • 2017-05-30 发布于湖北
  • 举报
VBA操作⽂件和⽂件夹步骤 获取当前⽂件夹的名称 (CurDir 函数) 当你使⽤⽂件时,经常会需要知道当前⽂件夹的名称,你使⽤CurDir 函数轻易地获取 该信息: CurDir([drive]) Drive ⼀可选参数,如果你忽略它,VBA将使⽤当前驱动 (drive )。 CurDir 函数返回⼀个⽂件路径作为Variant (变量)。如果要返回作为字符串 (String ) 的路径的话,就得使⽤CurDir$ (这⾥的$ 字符串的类型声明字符)。让我们在⽴即 窗⼜⾥做些练习,练习使⽤这些函数吧: 1. 打开⼀个新⼯作簿,并且切换到VB编辑器窗⼜ 2. 激活⽴即窗⼜并敲⼊下述代码: ?CurDir 当你按下回车,VB就显⽰当前⽂件夹名称,例如: C:\ 如果你有第⼆个硬盘 (或者光驱)的话,你可以获取D盘上的当前⽂件夹,例如: ?CurDir(“D:\”) 如果你提供了⼀个并不存在的驱动字母的话,VB就将显⽰下述错误信息:“设备不可 ⽤” 3. 要储存当前驱动名称到变量myDrive ,可以输⼊下述指令: myDrive = Left(CurDir$,1) 当你按下回车键时,VB将当前驱动器的字母储存到变量myDrive 敲⼊下述指令并回车,可以检查变量myDrive的内容: ?myDrive 你还可以将上⾯的指令改为如下: myDrive = left(CurDir$,1) : VB将返回驱动器字母,后⾯带有⼀个冒号。 更改⽂件或⽂件夹名称 (Name 函数) 使⽤函数Name可以重命名⽂件或者⽂件夹,例如: N me old_p thn me As new_p thn me 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⽂件夹⾥。 技巧:你不能重命名开启的⽂件 在重命名⽂件之前,你必须关闭该⽂件。⽂件名称⾥不能包含通配符“*”或者“?” 。 检查⽂件或⽂件夹是否存在 (Dir 函数) Dir 函数,返回⽂件或者⽂件夹名称,语法如下: Dir[(p thn me[, ttributes])] Dir 函数的两个参数都 可选的,pathname ⽂件或⽂件夹名称,对于参数attributes , 你可以下列常量或者数值之⼀: Dir 函数常⽤来检查某个⽂件或⽂件夹 否存在,如果不存在,那么就返回空字符串 (”” )。我们到⽴即窗⼜⾥试验⼏个Dir 函数的练习: 1. 在⽴即窗⼜,输⼊下述指令: ?Dir(C:\, vbNorm l) 你⼀旦按下回车键,VB就会返回该⽂件夹下的第⼀个⽂件名。普通⽂件 (vbNormal )就 除隐藏,卷标,⽬录,⽂件夹或系统⽂件之外的任何⽂件。 要返回当前⽬录下的其它⽂件名称的话,就使⽤不带参数的Dir 函数: ?Dir (并且回车) 2. 在⽴即窗⼜⾥输⼊下列指令,并且在你回车时检查其结果:

文档评论(0)

1亿VIP精品文档

相关文档