VBA - Получить индекс таблицы в зависимости от значений в ячейках - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу получить индексный номер таблицы в слове в зависимости от значений в cell(1,2) and cell(1,1), а затем я хочу автоматически открыть эту таблицу. Я пробовал это, но это не работает:

Dim wApp As Object
Set wApp = CreateObject("Word.Application")
Dim wDoc As Object
Dim i as Integer
For i = 1 To wDoc.Tables.Count
    If wDoc.Tables(i).Cell(1, 1).Value = "Value1" And wDoc.Tables(i).Cell(1, 2).Value = "Value2" Then
       wDoc.Tables(i).AutoFitBehavior (2)
    End If
Next

но это не работает .. кто-то находит синтаксическую ошибку?

Спасибо за вашу помощь!

1 Ответ

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

Вам необходимо удалить маркер конца ячейки, который отображается как символ «¤» и состоит из комбинации Chr (13) и Chr (7). Попробуйте:

Dim wApp As Object, wDoc As Object, i As Long
Set wApp = CreateObject("Word.Application")
With wDoc
  For i = 1 To .Tables.Count
    With .Tables(i)
      If Split(.Cell(1, 1).Range.Text, vbCr)(0) = "Value1" Then
        If Split(.Cell(1, 2).Range.Text, vbCr)(0) = "Value2" Then
          .AutoFitBehavior (2)
        End If
      End If
    End With
  Next
End With
...