尝试使用Excel VBA捕获磁盘上文件的所有文件属性,包括扩展属性。能够让它循环遍历文件并捕获基本属性(来自文件系统):
还要捕获来自文件本身的扩展属性:
右键单击文件时可见的其他属性。
目标是创建文件服务器上所有文件的详细列表。
答案 0 :(得分:23)
你说循环..所以如果你想为dir而不是当前文件这样做;
Dim sFile As Variant
Dim oShell: Set oShell = CreateObject("Shell.Application")
Dim oDir: Set oDir = oShell.Namespace("c:\foo")
For Each sFile In oDir.Items
Debug.Print oDir.GetDetailsOf(sFile, XXX)
Next
其中XXX是attribure列索引,例如作者为9。 要列出可供参考的索引,可以将for循环替换为;
for i = 0 To 40
debug.? i, oDir.GetDetailsOf(oDir.Items, i)
Next
快速获取单个文件/属性:
Const PROP_COMPUTER As Long = 56
With CreateObject("Shell.Application").Namespace("C:\HOSTDIRECTORY")
MsgBox .GetDetailsOf(.Items.Item("FILE.NAME"), PROP_COMPUTER)
End With
答案 1 :(得分:8)
您可以使用.BuiltInDocmementProperties
获得此内容。
例如:
Public Sub PrintDocumentProperties()
Dim oApp As New Excel.Application
Dim oWB As Workbook
Set oWB = ActiveWorkbook
Dim title As String
title = oWB.BuiltinDocumentProperties("Title")
Dim lastauthor As String
lastauthor = oWB.BuiltinDocumentProperties("Last Author")
Debug.Print title
Debug.Print lastauthor
End Sub
有关您可以访问的所有字段,请参阅此页面:http://msdn.microsoft.com/en-us/library/bb220896.aspx
如果您尝试在客户端之外执行此操作(例如,关闭Excel并运行代码,例如.NET程序),则需要使用DSOFile.dll。
答案 2 :(得分:3)
android {
compileSdkVersion 23
buildToolsVersion ANDROID_BUILD_TOOLS_VERSION
useLibrary 'org.apache.http.legacy'
defaultConfig {
minSdkVersion ANDROID_MIN_SDK_VERSION
targetSdkVersion ANDROID_TARGET_SDK_VERSION
}
buildTypes {
release {
minifyEnabled false
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
答案 3 :(得分:0)
我终于可以使用后期绑定并刷新此链接https://docs.microsoft.com/en-us/windows/win32/shell/folder-getdetailsof来使其正常工作。属性代码在我的计算机上是不同的,就像上面提到的某些人一样,大多数返回空值,即使它们不是。我使用了for循环遍历所有这些元素,发现标题和主题仍然可以访问,对于我的目的而言,这已经足够了。
not (Player1_Tag == "X" or Player1_Tag == "0")
答案 4 :(得分:0)
幸运的发现
如果objFolderItem
通话时没事
objFolder.GetDetailsOf(objFolderItem, i)
返回的字符串是属性的名称,而不是其(未定义)值
例如当i=3
返回“修改日期”
对I的所有288个值执行此操作可以清楚地说明为什么大多数原因导致大多数文件类型返回空白
例如i=175
是“水平分辨率”