sally_520xue 发表于 2008-10-30 11:44:44

关于attributes属性

在看教程,对教程里的attributes属性里写的代码不是很明白。请教高人指点一下。
   Sub SetClearArchiveBit(filespec)
Dim fs, f, r
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(fs.GetFileName(filespec))
If f.attributes and 32 Then
      r = MsgBox("已设置 Archive 位,是否确定清除?", vbYesNo, "设置/清除 Archive 位")
      If r = vbYes Then
          f.attributes = f.attributes - 32
          MsgBox "已清除 Archive 位。"
      Else
          MsgBox "保留 Archive 位设置。"
      End If
Else
      r = MsgBox("未设置 Archive 位。是否确定设置?", vbYesNo, "设置/清除 Archive 位")
      If r = vbYes Then
          f.attributes = f.attributes + 32
          MsgBox "已设置 Archive 位。"
      Else
          MsgBox "未设置 Archive 位。"
      End If
End If
End Sub


    这段代码里的If f.attributes and 32 Then,这句话是什么意思啊?attributes是设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。那这里面的32是说文件的末尾加上32这个数字?我运行了一下代码,没有反应,没有返回任何结果,不知道怎么回事,麻烦高人给指点一下哦。
谢谢了~~

sangjf 发表于 2008-10-30 14:38:37

attributes属性返回的是文件的属性,例如:只读,隐藏等等,该属性实际是一个二进制的值,所以 If f.attributes and 32 Then这里的and是逻辑与的操作符,也就是说如果该文件的属性是archive时,这个判断才为真

sally_520xue 发表于 2008-10-30 15:06:28

谢谢哦,楼上的,了了。
页: [1]
查看完整版本: 关于attributes属性