Получить строку поля формы в таблице MS Word, используя VBA - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть таблица MS Word с полями формы. Я перебираю поля FormFields в документе и хочу получить строку, чтобы найти текст соседней ячейки. Предложения или мысли приветствуются.

With WordDoc
j = 0
For Each FField In WordDoc.FormFields
    With FField
        Select Case .Type
            Case Is = wdFieldFormTextInput, wdFieldFormDropDown
                'strResult = .Result
            Case Is = wdFieldFormCheckBox
                If FField.Name Like "*_n" Then
                      If FField.CheckBox.Value = True Then
                        'I Need Table Row from this Form Field
                      End If
                    End If
                End If
                'strResult = .CheckBox.Value
        End Select
    End With
    j = j + 1
    'wkSht.Cells(i, j) = strResult
Next
End With

Окончательное решение (в утверждении True If):

Dim ffRow As Integer
ffRow = FField.Range.Information(wdEndOfRangeRowNumber)


If FField.Range.Information(wdWithInTable) Then
   unusedRow = wkSht.Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).row
   wkSht.Cells(unusedRow, 2).Value = FField.Range.Tables(1).Rows(ffRow).Cells(1).Range.Text
   wkSht.Cells(unusedRow, 3).Value = FField.Range.Tables(1).Rows(ffRow).Cells(5).Range.Text
End If

1 Ответ

0 голосов
/ 18 апреля 2019

Вы можете попробовать:

FField.Range.Information(wdEndOfRangeRowNumber)

https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word.wdinformation?view=word-pia

...