#vba #ms-word
#vba #ms-word
Вопрос:
Я использовал код getformdata (ниже) для сопоставления данных из текстовых форм VBA, но я хотел бы знать, возможно ли изменить код, чтобы я мог выбрать более высокую папку, и она выполнит поиск по всем вложенным папкам.
Sub GetFormData()
'Note: this code requires a reference to the Word object model
Application.ScreenUpdating = False
Dim wdApp As New Word.Application
Dim wdDoc As Word.Document
Dim FmFld As Word.FormField
Dim strFolder As String, strFile As String
Dim WkSht As Worksheet, i As Long, j As Long
strFolder = GetFolder
If strFolder = "" Then Exit Sub
Set WkSht = ActiveSheet
i = WkSht.Cells(WkSht.Rows.Count, 1).End(xlUp).Row
strFile = Dir(strFolder amp; "*.doc", vbNormal)
While strFile <> ""
i = i 1
Set wdDoc = wdApp.Documents.Open(Filename:=strFolder amp; "" amp; strFile, AddToRecentFiles:=False, Visible:=False)
With wdDoc
j = 0
For Each FmFld In .FormFields
j = j 1
WkSht.Cells(i, j) = FmFld.Result
Next
End With
wdDoc.Close SaveChanges:=False
strFile = Dir()
Wend
Я нашел код, который просматривает вложенные папки, но, похоже, он сам по себе является подразделом, и я не знаю, где в связи с этим я мог бы его использовать. Спасибо.
Комментарии:
1. Посмотрите на использование FileSystemObject, там вы можете установить верхнюю папку, а затем посмотреть. Вложенные папки
2. Спасибо, я попытался прочитать о FileSystemObject и нашел для него код, но если я помещу его перед своим приведенным выше кодом, ничего не произойдет. Есть ли у вас какие-либо более конкретные советы?
3. Посмотрите на циклические вложенные папки с помощью filesystemobject