Редактирование таблицы в Word, объединение ячеек - C#

Узнай цену своей работы

Формулировка задачи:

Привет всем! Объясните, пожалуйста, магию, которая здесь происходит:
Листинг программы
  1. int x = 0;
  2. for (int i=0; i<20; i++)
  3. {
  4. oTable.Rows.Add();
  5. oTable.Rows.Add();
  6. oTable.Cell(i+4+x, 1).Range.Text = "test "+Convert.ToString(i); // Здесь +4 - это пропуск первых строк (там шапка таблицы)
  7. RangeOfCells = oTable.Cell(i+4+x, 1).Range;
  8. RangeOfCells.Select(); // Встаем на ячейку
  9. oTable.Application.Selection.MoveRight(ref unit, 1, ref d); // Выделяем всю строку (но в данном случае только + 1 ячейку справа
  10. RangeOfCells.Application.Selection.Cells.Merge(); // Объединяем
  11. x = x + 2; // Организуем вывод через две строки
  12. }
Почему всё непонятно куда сдвигается?! Ведь индексы ячеек с текстом и выделением совпадают!

Решение задачи: «Редактирование таблицы в Word, объединение ячеек»

textual
Листинг программы
  1. using Word = Microsoft.Office.Interop.Word;
  2. //.........
  3. for (int i = 0; i < 20; i++)
  4. {
  5.     Word.Row row = oTable.Rows.Add();//Строка в конец таблицы
  6.     oTable.Rows.Add();//Две строки ещё
  7.     oTable.Rows.Add();
  8.     wdDoc.Range(row.Cells[1].Range.Start, row.Cells[2].Range.End).Cells.Merge();//Объединение ячеек в третьей снизу строке
  9.     row.Cells[1].Range.Text = "test " + i.ToString();//Запись текста в первую, уже объединённую ячейку
  10. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут