Редактирование таблицы в Word, объединение ячеек - C#
Формулировка задачи:
Привет всем!
Объясните, пожалуйста, магию, которая здесь происходит:
Почему всё непонятно куда сдвигается?! Ведь индексы ячеек с текстом и выделением совпадают!
Листинг программы
- int x = 0;
- for (int i=0; i<20; i++)
- {
- oTable.Rows.Add();
- oTable.Rows.Add();
- oTable.Cell(i+4+x, 1).Range.Text = "test "+Convert.ToString(i); // Здесь +4 - это пропуск первых строк (там шапка таблицы)
- RangeOfCells = oTable.Cell(i+4+x, 1).Range;
- RangeOfCells.Select(); // Встаем на ячейку
- oTable.Application.Selection.MoveRight(ref unit, 1, ref d); // Выделяем всю строку (но в данном случае только + 1 ячейку справа
- RangeOfCells.Application.Selection.Cells.Merge(); // Объединяем
- x = x + 2; // Организуем вывод через две строки
- }
Решение задачи: «Редактирование таблицы в Word, объединение ячеек»
textual
Листинг программы
- using Word = Microsoft.Office.Interop.Word;
- //.........
- for (int i = 0; i < 20; i++)
- {
- Word.Row row = oTable.Rows.Add();//Строка в конец таблицы
- oTable.Rows.Add();//Две строки ещё
- oTable.Rows.Add();
- wdDoc.Range(row.Cells[1].Range.Start, row.Cells[2].Range.End).Cells.Merge();//Объединение ячеек в третьей снизу строке
- row.Cells[1].Range.Text = "test " + i.ToString();//Запись текста в первую, уже объединённую ячейку
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д