我想生成笔记本电脑上所有 Word 文档的列表以及每个文档使用的模板。有没有办法生成这样的列表?如果没有,如何获取使用指定模板的所有 Word 文档的列表?这个愿望部分是因为我想删除我不使用的模板。我正在使用 Microsoft 365。
答案1
这对我有用:
Sub listDocs()
Dim FileSystem As Object
Dim HostFolder As String
'change folder name as needed
HostFolder = "C:\users\myname"
Set FileSystem = CreateObject("Scripting.FileSystemObject")
getDocs FileSystem.GetFolder(HostFolder)
End Sub
Sub getDocs(Folder)
Dim SubFolder As Object
For Each SubFolder In Folder.SubFolders
Debug.Print SubFolder
getDocs SubFolder
Next
Dim File
For Each File In Folder.Files
If File.Type = "Microsoft Word Document" Then
Documents.Open FileName:=File.Path, ReadOnly:=True
Debug.Print File.Path, Documents(File.Name).AttachedTemplate
Documents(File.Name).Close
End If
Next
End Sub
这是基于https://stackoverflow.com/questions/22645347/loop-through-all-subfolders-using-vba它将打印每个文件夹和每个带有其模板名称的 Word 文件。
请注意,这将花费很长时间,因为它需要打开您电脑上的每一个 Word 文件