Windows 如何使用vba更改扩展文件属性

Windows 如何使用vba更改扩展文件属性,windows,vba,vb6,Windows,Vba,Vb6,使用vba,我能够编写一个程序来读取扩展文件属性。现在,我想制作一个可以编辑扩展文件属性的程序——特别是属性22,文件的“主题”。因此,给定一个文件路径,您如何编辑与该文件关联的主题?无法使用您现在使用的方法进行编辑。您可以安装并使用Microsoft ActiveX来使用VBScript获取和设置扩展属性 Set objFile = CreateObject("DSOFile.OleDocumentProperties") objFile.Open("C:\My Path\MyFile.doc

使用vba,我能够编写一个程序来读取扩展文件属性。现在,我想制作一个可以编辑扩展文件属性的程序——特别是属性22,文件的“主题”。因此,给定一个文件路径,您如何编辑与该文件关联的主题?

无法使用您现在使用的方法进行编辑。您可以安装并使用Microsoft ActiveX来使用VBScript获取和设置扩展属性

Set objFile = CreateObject("DSOFile.OleDocumentProperties")
objFile.Open("C:\My Path\MyFile.doc")
objFile.SummaryProperties.Subject = "My Subject"
objFile.Save
set objFile = Nothing

'将文件设为只读

SetAttr "c:\temp\Sample.txt", vbReadOnly
'将文件隐藏起来

SetAttr "c:\temp\Sample.txt", vbHidden
'请注意,如果更改一个属性,现有属性将被覆盖。要使文件同时成为只读和隐藏文件,请在函数中同时使用这两个属性

SetAttr "c:\temp\Sample.txt", vbHidden + vbReadOnly
'删除所有atributes-将只读文件转换为读写文件,取消隐藏文件等

SetAttr "c:\temp\Sample.txt", vbNormal

这实际上更多的是对上述jac的评论。引用的.dll文件在64位机器上不起作用,我觉得现在大多数机器都是64位的。单击以获取与引用的dsofile.dll等效的开源64位

为什么我的答案被否决了?有人能评论一下吗?这样我就可以修正或改进回答方式,但你说的是属性。OP正在谈论扩展文件属性。。。(在Windows上:在文件资源管理器中的文件上单击鼠标右键,选择“属性”,然后切换到“详细信息”选项卡)