Ответ 1
Таблицы Word не всегда интуитивно понятны. Если ячейка охватывает столбец, который должен быть удален, тогда, как вы показали, всегда будет удалена клетка, связанная с ENTIRE.
Когда я НЕ использую VBA, я всегда разворачиваю ячейки перед удалением строк или столбцов; в противном случае поведение Word трудно предсказать.
Используя VBA, я бы предложил следующее:
'splits the header row of the current table into 7 cells
Selection.tables(1).cell(1,2).split numrows:=1, numcolumns:=7
'your code to delete columns
Selection.MoveEnd Unit:=WdUnits.wdCell, Count:=3
Selection.Columns.Delete
'merge the header row back into one span
ActiveDocument.Range( _
start:= Selection.tables(1).cell(1,2).range.start, _
end := Selection.tables(1).cell(1,5).range.end _
).cells.Merge
или для более общего подхода, чтобы удалить n столбцов:
width = Selection.tables(1).columns.count - 1
Selection.tables(1).cell(1,2).split numrows:=1, _
numcolumns:= width - 1
Selection.MoveEnd Unit:=WdUnits.wdCell, Count:= n
Selection.Columns.Delete
ActiveDocument.Range( _
start:= Selection.tables(1).cell(1,2).range.start, _
end := Selection.tables(1).cell(1,width-n-1).range.end _
).cells.Merge