您的位置:首页 > 编程语言 > VB

获取文件属性中详细信息里的各项目(vb 学习备注)

2013-01-15 13:08 633 查看
Sub ts()

Dim oDLG
Dim pth As String
Dim Flname As String

Dim shl As Shell32.Shell
Dim shfd As Shell32.Folder
Dim s As String
Dim i As Integer

Set oDLG = CreateObject("MSComDlg.CommonDialog")

With oDLG

.DialogTitle = "打开文件"
.Filter = "所有文件|*.*"
.MaxFileSize = 255
.ShowOpen
If .Filename <> "" Then

i = InStrRev(.Filename, "\")
If i = 0 Then Exit Sub
Flname = Mid(.Filename, i + 1)
Set shl = New Shell
Set shfd = shl.Namespace(Left(.Filename, i - 1))

For i = 0 To 39

If shfd.GetDetailsOf(0, i) <> "" And shfd.GetDetailsOf(shfd.Items.Item(Flname), i) <> "" Then

s = s & i & ":" & shfd.GetDetailsOf(0, i) & ": " & shfd.GetDetailsOf(shfd.Items.Item(Flname), i) & Chr(10)
Debug.Print s

End If

Next i

MsgBox s, vbInformation, "文件属性"

End If

End With

Set oDLG = Nothing

End Sub


先引用Microsoft Shell Controls and Automation

VBA实例

Sub ts()

Dim pth As String
Dim Flname As String
Dim sPath As String
Dim sOwner As String

Dim shl As Shell32.Shell
Dim shfd As Shell32.Folder
Dim s As String
Dim i As Integer

sPath = "\\10.116.0.26\smc82files\06、公用文件\"
Flname = Dir(sPath)

i = 2

Do While Flname <> ""

If Flname <> "." And Flname <> ".." Then

If GetAttr(sPath & Flname) = vbDirectory Then

Flname = Dir()

Else

Set shl = New Shell
Set shfd = shl.Namespace(sPath)
ActiveSheet.Cells(i, 1).Value = Flname
ActiveSheet.Cells(i, 2).Value = shfd.GetDetailsOf(shfd.Items.Item(Flname), 10)
ActiveSheet.Cells(i, 3).Value = shfd.GetDetailsOf(shfd.Items.Item(Flname), 20)
i = i + 1
Flname = Dir()

End If

Else

Flname = Dir()

End If

Loop

MsgBox "ok"

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: