ExcelVBA设置文件属性

实际项目中经常会遇到一些用VBA操作文件的情况,需要设置文件的属性,现将一些常用的文件属性设置整理一下,以便以后参考。也希望对其他人有所帮助,节省点开发时间!

设置文件的属性主要使用的是"SetAttr"语句

语法:SetAttr pathname, attributes

解説:文件的属性设定

参数:

PathName

       描述:必选。指定文件名的 String 表达式。PathName 可以包含目录(或文件夹)和驱动器。

Attributes

      描述: 必选。常数或数值表达式,其和指定文件属性。

设置:

Attributes 参数枚举值是:

值                     常数                           说明

Normal           vbNormal                   正常(默认)。

 

ReadOnly       vbReadOnly               只读。

 

Hidden            vbHidden                  隐藏。

 

System           vbSystem                 系统文件。

 

Volume            vbVolume                卷标

 

Directory         vbDirectory             目录或文件夹。

 

Archive            vbArchive                自从上次备份后文件已更改。

 

Alias                vbAlias                     文件具有不同的名称。

 

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

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

 

Sample:

下面的例子是把文件“C:/Autoexec.bat”设置为读取专用

Sub Sample()

       SetAttr "C:/autoexec.bat", vbReadOnly

End Sub

 

最后在增加一个取有数据的最后一行行好的公式:

1. 如果数据是 : "文本数据", 最后一行的行号, 普通公式 :

    =MATCH("*",A:A,-1)

2.如果数据是: "数值数据", 最后一行的行号, 普通公式 :

   =MATCH(9E+307,A:A)

※A为所统计行的列号

 

 


Excel VBA 可以使用内置的属性和方法来获取文件的属性。以下是其中一种方法: 首先,我们需要创建一个对象来表示文件。可以使用 `FileSystemObject` 对象来实现。在使用之前,需要先引入 `Microsoft Scripting Runtime` 库。 ```vba Sub GetFileAttributes() Dim fs As Object Dim file As Object ' 创建 FileSystemObject 对象 Set fs = CreateObject("Scripting.FileSystemObject") ' 获取文件对象 Set file = fs.GetFile("文件路径") ' 使用 file 对象来获取属性 MsgBox "文件路径:" & file.Path MsgBox "文件名:" & file.Name MsgBox "文件类型:" & file.Type MsgBox "文件大小:" & file.Size MsgBox "创建时间:" & file.DateCreated MsgBox "最后修改时间:" & file.DateLastModified MsgBox "最后访问时间:" & file.DateLastAccessed ' 释放对象 Set file = Nothing Set fs = Nothing End Sub ``` 在上面的代码中,我们首先创建了一个 `FileSystemObject` 的实例,并将其赋值给 `fs` 变量。然后,我们使用 `GetFile` 方法来获取想要查看属性的文件,并将其赋值给 `file` 变量。 之后,我们使用 `file` 对象来获取文件的属性,例如路径、名称、类型、大小、创建时间、最后修改时间和最后访问时间等。 最后,我们释放已经使用的对象,以释放内存资源。 请注意,上述代码中的 "文件路径" 需要替换为你自己的文件路径。确保要获取文件属性的文件路径是正确的,否则会引发错误。 希望以上回答对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值