Форум по VBA, Excel и Word
Почта для связи: Box1100@yandex.ru
Начало
Поиск
Вход
Регистрация
Форум по VBA, Excel и Word
»
Word
»
Макросы в Word
»
Как в VBA определить порядковый номер word-таблицы, в которой находится курсор?
Печать
Страницы: [
1
]
Автор
Тема: Как в VBA определить порядковый номер word-таблицы, в которой находится курсор? (Прочитано 4716 раз)
Nekto_Shket
Гость
Как в VBA определить порядковый номер word-таблицы, в которой находится курсор?
«
:
29 Апрель 2015, 20:11 »
Прошу помочь в составлении макроса для Word по следующей задаче:
Есть документ с несколькими таблицами. В ячейках таблицы имеется разнообразный текст.
Стандартная функция "Найти" - ищёт "текст".
Найдя - курсор физически становится в ячейку с найденным "текстом".
Можно ли в VBA по месту расположения курсора определить в какой таблице стоит курсор (название, номер, или как там обзываются таблицы в Word)?
Записан
Администратор
Administrator
Сообщений: 2053
Как в VBA определить порядковый номер word-таблицы, в которой находится курсор?
«
Ответ #1 :
29 Апрель 2015, 21:33 »
Код по определению порядкового номера таблицы, в которой находится курсор:
Код:
Sub Main()
Dim tblSel As Word.Table, lngTblIndex As Long
Dim lngStart As Long
Dim i As Long
'1. Vba-именование таблицы, в которой находится курсор.
Set tblSel = Selection.Tables(1)
'2. Проверка, является ли таблица, в которой курсор, вложенной.
' Вложенные таблицы не относятся к документу и с ними нужно по-другому работать.
If tblSel.NestingLevel <> 1 Then
MsgBox "Таблица, в которой находится курсор, вложенная.", vbExclamation
Exit Sub
End If
'3. Запись в переменную позиции начала таблицы.
lngStart = tblSel.Range.Start
'4. Просмотр всех таблиц в поисках таблицы с нужным началом.
For i = 1 To ActiveDocument.Tables.Count Step 1
If ActiveDocument.Tables(i).Range.Start = lngStart Then
' Запись порядкового номера таблицы в переменную.
lngTblIndex = i
' Выход из цикла.
Exit For
End If
Next i
'5. Здесь, в переменной "lngTblIndex", у нас есть порядковый номер таблицы, в которой находится курсор.
End Sub
Записан
Nekto_Shket
Гость
Re: Как в VBA определить порядковый номер таблицы, в которой находится курсор?
«
Ответ #2 :
29 Апрель 2015, 21:52 »
Администратор, благодарю! Из Ваших примеров, кажется, почерпнул информацию, необходимую мне в дальнейшем.
Записан
Печать
Страницы: [
1
]
Форум по VBA, Excel и Word
»
Word
»
Макросы в Word
»
Как в VBA определить порядковый номер word-таблицы, в которой находится курсор?