1

Тема: Как найти следующую таблицу?

В файле Word много таблиц. Подскажите, пожалуйста, как можно осуществить поиск следующей таблицы в файле?
Пишут, что для этого можно использовать метод StartOf().

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

2

Re: Как найти следующую таблицу?

Нашел следующее приемлемое решение:

Sub GoToNextTable01()
    Set myRange = ActiveDocument.Words(1).GoToNext(What:=wdGoToPage)
    With Selection
        Set myRange = .GoToNext(What:=wdGoToTable)
        .MoveRight Unit:=wdWord, Extend:=wdExtend
    End With
End Sub

А как все же найти следующую таблицу с использованием метода StartOf()?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Как найти следующую таблицу?

типа того
а = ActiveDocument.Tables(1).Start
потом перейти к а

4

Re: Как найти следующую таблицу?

Ципихович Эндрю пишет:

типа того
а = ActiveDocument.Tables(1).Start
потом перейти к а

Эндрю, а можно поподробней?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Как найти следующую таблицу?

А = ActiveDocument.Tables(2).Range.Start
  'выделить промежуток ... Start ... End ...
    ActiveDocument.Range(Start:=А, End:=А).Select

6

Re: Как найти следующую таблицу?

Ципихович Эндрю пишет:

А = ActiveDocument.Tables(2).Range.Start
  'выделить промежуток ... Start ... End ...
    ActiveDocument.Range(Start:=А, End:=А).Select

Стоит задача не выделить таблицу, а перейти к началу таблицы.
И еще - вы имеете в виду StartOf()? Нужно ли что-то записывать в скобках?
Еще один вопрос мне непонятен: почему в последнем посте вы написали Tables(2), а перед этим - Tables(1)?
Нужно перейти сначала к таблице 1, затем к таблице 2, 3 и т.д.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

7

Re: Как найти следующую таблицу?

Стоит задача не выделить таблицу, а перейти к началу таблицы.
если выделить - ActiveDocument.Tables(2).Range.Select - пишу по памяти
а так так я написал нужное Вам
И еще - вы имеете в виду StartOf()? Нужно ли что-то записывать в скобках? - с этим не работал
Еще один вопрос мне непонятен: почему в последнем посте вы написали Tables(2), а перед этим - Tables(1) - а что Вы не спрашиваете первый раз я писал .Start а второй .Range.Start - это более точно, первый раз писал по памяти:)
по поводу 1 или 2 - пишите ту которая нужна