Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail


Оплата за обучение в Kata Academy только после твоего трудоустройства в IT, начни карьеру Middle Java-разработчика


Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 09:24   #1
An-rey
Новичок
Джуниор
 
Регистрация: 27.07.2010
Сообщений: 2
По умолчанию Отсуствует доступ к отдельным строкам

Коллеги, плз, помогите разобраться с проблемой.

Программно создаю таблицу.
Каждая новая строка добавляется командой (1):

oTable.Rows.Add BeforeRow:=oTable.Rows(nRow),

где nRow - номер последней строки в таблице.

По ходу наполнения таблицы требуется в некоторых строках создаваемой таблицы разбивать ячейку не несколько строк. Делаю это командой (2):

oTable.Cell(nRow, 4).Split NumRows:=oRcIn.ResolCnt, NumColumns:=1

Проблема в том, что после создания строки, у которой имеется ячейка, разбитая на несколько строк, очередная команда (1) не отрабатывает. Выдается ошибка: Run-time error '5991': Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали.
Андрей
An-rey вне форума Ответить с цитированием
Старый 27.07.2010, 10:42   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,835
По умолчанию

Да, работать не будет. Нужно обращаться к ячейкам, отсеивая нужные по индексу строки
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 27.07.2010, 16:57   #3
An-rey
Новичок
Джуниор
 
Регистрация: 27.07.2010
Сообщений: 2
По умолчанию

Алекс, не могли бы Вы привести пример?
Не получается добавить строку в таблицу(2 строки, 7 столбцов), обращаясь только к ячейкам.
Андрей
An-rey вне форума Ответить с цитированием
Старый 27.07.2010, 18:41   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,835
По умолчанию

Метод Add имеет такую особенность, что если не указать параметр BeforeRow, то строка будет добавлена сразу после диапазона для которого этот метод вызывается.
Трудно посоветовать точно, не видя вашу конкретную задачу, например так:
Код:
Sub test()
  Dim oTbl As Table
  
  Set oTbl = Selection.Tables(1)
  
  With oTbl
    Do While .Rows.Count < 15
      .Cell(.Rows.Count, 1).Range.Rows.Add
      .Cell(.Rows.Count - 1, 4).Split 5, 1
    Loop
  End With
End Sub
Код вставляет строку перед последней строкой таблицы и разбивает ячейку в 4-м столбце вставленной строки на 5 строк. Я не использую параметр количества строк, т.к. он постоянно меняется при вставке строк и разбиении ячеек.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как разбить данные из одной ячейки по 4-м отдельным ячейкам? lench Microsoft Office Excel 12 12.01.2012 07:20
массив отдельным файлом Izlom Помощь студентам 2 31.05.2010 16:25
Работа с отдельным клиентом Rapala Работа с сетью в Delphi 10 31.03.2010 16:29
Доступ к строкам в файле .txt severin Помощь студентам 11 10.11.2009 17:16
закачка файла отдельным потоком. ZeitGeist7 Общие вопросы Delphi 12 26.02.2009 20:23

Реклама для незарегистрированных, регистрация на форуме