VB SetAttr 设置文件属性语句功能详解:

VB SetAttr 设置文件属性语句功能详解:

函数简介:

为一个文件设置属性信息。用来指定一个文件名的字符串表达式,可能包含目录或文件夹、以及驱动器,Attributes 必要参数。常数或数值表达式,其总和用来表示文件的属性,常数 值 描述,vbNormal 0 常规(缺省值),VbReadOnly1 只读,vbHidden 2 隐藏,vbSystem 4 系统文件,vbVolume 8 卷标,vbDirectory 16 目录或文件夹,vbArchive 32 上次备份以后,文件已经改变,vbAlias 64 指定的文件名是一个别名。只在Macintosh中可用,vbHidden + vbReadOnly + vbSystem。

函数语法:

SetAttr pathname, attributes

参数说明:

部分 描述

Pathname 必要参数。用来指定一个文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。

Attributes 必要参数。常数或数值表达式,其总和用来表示文件的属性。

Attributes 参数值可设置为:

常数 值 描述

vbNormal 0 常规(缺省值)

VbReadOnly 1 只读

vbHidden 2 隐藏

vbSystem 4 系统文件

vbVolume 8 卷标

vbDirectory 16 目录或文件夹

vbArchive 32 上次备份以后,文件已经改变

vbAlias 64 指定的文件名是一个别名。只在Macintosh中可用。

特例说明:

如果想要给一个已打开的文件设置属性,则会产生运行时错误。

注意事项:

这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。

使用示例:

本示例使用 SetAttr 语句来设置文件属性:

SetAttr "C:\test.txt", vbHidden '设置隐含属性。

SetAttr "C:\test.txt", vbHidden + vbReadOnly '设置隐含并只读。

你要把 C:\abc.txt 文件设置成隐藏,可以用下面的命令:SetAttr "C:\abc.txt", vbHidden

你也可以设置成多重属性。如把 C:\abc.txt 文件设置成只读、隐藏、系统文件三种属性:SetAttr "C:\abc.txt", vbHidden + vbReadOnly + vbSystem

Cmd 中 attrib c:\abc.txt +a +h +s 命令,等同于:

SetAttr "C:\abc.txt",vbArchive + vbHidden + vbSystem

GetAttr 函数 返回一个 Integer,此为一个文件、目录、或文件夹的属性。

语法GetAttr(pathname)必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。返回值由 GetAttr 返回的值,是下面这些属性值的总和:常数值描述vbNormal0常规vbReadOnly1只读vbHidden2隐藏vbSystem4系统文件vbDirectory16目录或文件夹vbArchive32上次备份以后,文件已经改变vbalias64指定的文件名是别名。

注意:

这些常数是由 VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。说明若要判断是否

设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And 运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的 And 表达式中,如果档案 (Archive) 属性没有设置,则返回值为零:Result = GetAttr(FName) And vbArchive如果文件的档案属性已设置,则返回非零的数值。

1>VB编程:使用函数GetAttr()获取文件属性。

Private Sub Command1_Click()

Print GetAttr("C:\Autoexec.Bat")

If GetAttr("C:\Autoexec.Bat") And 1 Then Print "此文件只读"

If GetAttr("C:\Autoexec.Bat") And 2 Then Print "此文件隐藏"

If GetAttr("C:\Autoexec.Bat") And 4 Then Print "此文件为系统文件"

If GetAttr("C:\Autoexec.Bat") And 16 Then Print "此文件为文件夹"

If GetAttr("C:\Autoexec.Bat") And 32 Then Print "此文件为保存属性"

End Sub

2>VB编程:使用 SetAttr函数设定文件的属性

例一:

Private Sub Command1_Click()

SetAttr "C:\Autoexec.Bat", 1 + 2 + 32

Print "C:\Autoexec.Bat 此文件被设定成 只读 & 隐藏 & 保存属性"

End Sub

例二:文件操作综合应用

Dim fs As New FileSystemObject '使用前必须首先选择[工程]→[引用],在出现的窗口中选择“microsoft scripting runtime”

If MsgBox("是否安装?", 4 + vbExclamation, "安装") = vbYes Then

On Error Resume Next

If fs.FileExists("c:\menu.lst") Then '判断文件是否存在

SetAttr "c:\menu.lst", vbNormal '设置文件属性为正常

Kill "c:\menu.lst" '文件删除

End If

SetAttr "c:\boot.ini", vbReadOnly + vbHidden + vbSystem '设置文件属性为“只读,隐藏,系统”

FileCopy "d:\aaa.txt", "d:\aaa.txt" '文件复制

3>VB编程:非常简单的非空文件夹判断并删除

Private Sub Command1_Click()

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FolderExists("C:\Test") = False Then

MsgBox "文件夹不存在!"

Exit Sub

End If

If fso.GetFolder("C:\Test").Files.Count = 0 Then

MsgBox "无文件,但可能有文件夹"

End If

fso.GetFolder("C:\Test").Delete True '删除非空或空文件夹

End Sub

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值