• ⚡️ Последний шанс: Вебинар по пентесту стартует через 30 минут!

    Друзья, ровно через 30 минут (8 июля в 19:00) начинается наш практический вебинар по пентесту и поиску уязвимостей!

    Если вы хотите:
    🕵️‍♀️ Узнать, как находить и эксплуатировать уязвимости в веб-приложениях.
    💡 Получить ценные инсайты от настоящего эксперта.
    🚀 Сделать решительный шаг в мир кибербезопасности.
    То этот вебинар для вас!

    Ведущий вебинара – Александр Медведев – эксперт с более чем 10-летним опытом в сфере информационной безопасности, пятикратный победитель Standoff и обладатель престижных сертификаций: OSWE, OSCP, PNPT, CEH, CWAPT.

    Успейте присоединиться! Зарегистрироваться сейчас

    Возникли сложности с регистрацией? Пишите нам: @Codeby_Academy
    Будем вас ждать!

Ole -word, как заполнить таблицу в таблице ?

  • Автор темы Автор темы Sandro
  • Дата начала Дата начала
S

Sandro

Прислали долбанный бланк сделанный каким наркоманом, в нём сплошь и рядом таблицы в таблице, это всё надо автоматически заполнять. Обычно делал так

worddoc.Tables(номер таблицы).Cell(строка,столбец).Range.Select
worddoc.Tables(номер таблицы).Cell(строка,столбец).Range.Text="Текст"

Но в шаблоне 2 таблицы и одна вставленна в другую, пытаюсь обратиться к 3-й таблице а такой не ((( Что делать не пойму
 
VBA хелп есть?
есть примеры к TopLevelTables Property, NestingLevel Property,
т.е. к вложенной обращаемся через ячейку внешней, в которой она расположена.
Можно проверять Count, обрабатывать через For Each ...
кстати, если в шаблоне всего 2 таблицы и одна из них вставлена в другую, откуда возьмется еще 3-я? %)
 
Спасиб. Весь день в проблемах ))), голова не варит, таблицы 3. В одну из них вставлена другая. Мануала нет, не установил при установке офиса )))
 
совет - доставьте этот хелп - поможет в некоторых случаях ;)
сама с такими таблицами мало работала - тут надо либо знать, где эта вложенная таблица сидит, либо проверять коллекцию объектов Tables для каждой ячейки нужной таблицы, чтоб найти, в какой ячейке расположена вложенная таблица.

собственно, пример из хелпа нужен Вам только как иллюстрация обращения к внутренним таблицам (строит 3 таблицы, показывает уровень вложенности в 1ю ячейку, выделяет последнюю - самую вложенную):
TopLevelTables Property
Returns a Tables collection that represents the tables at the outermost nesting level in the current range or selection. Read-only.

Remarks
This method returns a collection containing only those tables at the outermost nesting level within the context of the current range or selection. These tables may not be at the outermost nesting level within the entire set of nested tables.

For information about returning a single member of a collection, see Returning an Object from a Collection.

Example
This example creates a new document, creates a nested table with three levels, and then fills the first cell of each table with its nesting level. The example selects the second column of the second-level table and then selects the first of the top-level tables in this selection. The innermost table is selected, even though it isn't a top-level table within the context of the entire set of nested tables.

Код:
Documents.Add
ActiveDocument.Tables.Add Selection.Range, _
3, 3, wdWord9TableBehavior, wdAutoFitContent
With ActiveDocument.Tables(1).Range
.Copy
.Cells(1).Range.Text = .Cells(1).NestingLevel
.Cells(5).Range.PasteAsNestedTable
With .Cells(5).Tables(1).Range
.Cells(1).Range.Text = .Cells(1).NestingLevel
.Cells(5).Range.PasteAsNestedTable
With .Cells(5).Tables(1).Range
.Cells(1).Range.Text = _
.Cells(1).NestingLevel
End With
.Columns(2).Select
Selection.TopLevelTables(1).Select
End With
End With
 
Спасиб OKEN, выручаешь который раз, нашл дистрибутив, хэлп доставил ))))
 
OKEN, ещё вопросик, возникла такая проблемка , в доковском фокументе заполняю поля worddoc.FormFields(№).result ="Текст"
выдаётся ошибка Microsoft Word: Слишком длинная строка.
В самом ворде на поле ограничений по размеру нет там поле до 32000 символов (((( Не пойму откуда эта ошибка ((((
 
не знаю точно, лично я с ворд-полями с длинным текстом не работала, возможно, позже переспрошу.
Заполняли шаблон когда-то через find-replace, а не поля, делили длинную строку на кусочки (порядка 255 символов, насколько я помню)...
 
отписала предложенный RonTermit в лотус-ветке вариант комментарием в тему КБ лотуса ([post="158401"]альтернатива отчету в поля ворд[/post])
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab