Название: Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: YKR от 19.04.2022, 10:55:29 Как кодом VBA найти в ворд документе имеющиеся таблицы ?
С указанием номеров страниц, где они есть? И как к ним обращаться кодом? (через имя таблицы или через номер) Если не в тот раздел форума поместил вопрос - подскажите в какой, спасибо? YKR22 на форуме Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: Дмитрий Щербаков(The_Prist) от 20.04.2022, 10:38:01 А что уже сами пробовали сделать? Не вижу попыток.
Алгоритм: цикл по всем таблицам в документе и определение их местоположения. Или цикл по страницам с определением есть ли на них таблицы. В общем и целом код может быть таким: Код: (vb) Dim otbl As Table, v Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: YKR от 20.04.2022, 17:01:05 Добрый день! Спасибо за отклик, более предметно ответил в другом посте.
код к сожалению выдает ошибку 424.... object recuired на строке Код: (vb) Set rr = wd.Range(ls, Selection.GoTo(wdGoToBookmark, , , "\EndOfDoc").Start) Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: Дмитрий Щербаков(The_Prist) от 21.04.2022, 14:01:09 Замените везде wd на ActiveDocument
Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: YKR от 21.04.2022, 15:30:38 Спасибо, так код работает. Он определяет есть ли на странице таблицы в принципе.
И если из несколько, то это не видно. Получается, что нужен Алгоритм: цикл по всем таблицам в документе и их местоположения. (какая таблица, на какой странице) С указанием имени таблицы или номера таблицы в документе, чтобы было понятно как к таблице обратиться. Подскажите как такой цикл сделать? Пробую, но пока в этом не преуспел. Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: Дмитрий Щербаков(The_Prist) от 21.04.2022, 17:50:24 Пробую Как именно и что именно?нужен Алгоритм: цикл по всем таблицам в документе и их местоположения Вы сами поняли что написали? :) Мне кажется, что Вы даже не вдумались в представленный код. Этот алгоритм там уже реализован - есть цикл по каждой странице документа и по всем таблицам в ней. На основании этого получить и таблицу и где она находится и обратиться к ней - вообще не проблема.Обратиться к каждой из таблиц в коде выше без проблем - у Вас есть переменная цикла otbl. Это уже объект таблица. Узнать на какой странице? Это тоже уже реализовано - переменная lp это и есть номер страницы. Нужно знать сколько их? Добавьте в цикл счетчик. Нужно знать сколько на странице - есть свойство Count. если из несколько, то это не видно кому не видно? Вставьте две таблицы в страницу - будет два MsgBox-а.Вот чуть модифицированный код с комментариями - смотрите и поймете, что надо вникать глубже в примеры, чтобы получить результат самостоятельно: Код: (vb) Sub FindTables() В общем что нужно в итоге и что именно не получается - мне лично непонятно. Не вижу сильных сложностей, кроме той, что Вы совершенно не владеете VBA. А это проблема, если за такие коды сходу решили взяться. Начните с азов, иначе каждый код будет делать то, что Вам не видно :) Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: YKR от 22.04.2022, 17:41:49 Что было мне непонятно написано.
Найти таблицы в документе, чтобы потом это использовать. Например, знать номер или имя таблицы на нужной странице, чтобы потом можно было написать: Код: (vb) Dim p As InlineShape Спасибо за помощь и хороших выходных! Название: Re:Как кодом VBA найти в ворд документе имеющиеся таблицы ? Отправлено: Дмитрий Щербаков(The_Prist) от 22.04.2022, 18:34:24 Что было мне непонятно написано так и ответ был дан сразу же :) Отсюда и не понятно, что еще можно подразумевать под "Найти таблицы в документе, чтобы потом это использовать". По факту у таблиц есть только индексы и обратиться по ним можно к любой таблице в документе. Другой вопрос, что скорее всего Вам нужна была какая-то конкретная таблица. Но какая - я до сих пор не знаю, а следовательно помочь-то больше и нечем. Может надо было написать как именно и в какой момент планировалось использовать таблицы? Мы же здесь за одним ПК с Вами Ваши задачи не решаем, чтобы угадывать 100% что и для чего Вам надо ;) учитывайте это, описывая задачи. |