Способ изменить код GetFormData для поиска вложенных папок

#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