Word VBA开启修订模式时拆分表格行失效,求替代方法
Word VBA 修订模式下拆分表格行的替代方案
方法一:通过插入单元格实现拆分
直接在目标单元格右侧插入所需数量的单元格,替代Split方法,该方式在修订模式下能正常生效:
nbAttrCellToCreate = 3 numRow = 2 Dim targetCell As Cell Set targetCell = newTable.Cell(numRow, 1) ' 插入目标数量减1个单元格(原单元格算1个) For i = 1 To nbAttrCellToCreate - 1 targetCell.Select Selection.InsertCells (wdInsertCellsRight) Next i
方法二:重建目标行
如果原行有需要保留的内容,可先保存内容,删除原行后插入新行并拆分到指定单元格数:
nbAttrCellToCreate = 3 numRow = 2 Dim originalContent As String Dim newRow As Row ' 保存原行内容 originalContent = newTable.Rows(numRow).Range.Text ' 删除原行 newTable.Rows(numRow).Delete ' 插入新行 Set newRow = newTable.Rows.Add(BeforeRow:=newTable.Rows(numRow)) ' 拆分新行到指定单元格数 newRow.Cells(1).Split 1, nbAttrCellToCreate ' 恢复原内容(按需使用) newRow.Range.Text = originalContent
补充说明
Split方法在修订追踪开启时失效,是因为Word的修订机制会拦截表格结构的直接修改,导致表格的Cells集合未能及时更新,后续访问未创建的单元格就会抛出“The required collection member does not exist”错误。上述两种方法通过更温和的单元格/行操作,能规避这个问题。
内容的提问来源于stack exchange,提问作者maher kochbati
相关产品推荐
相关产品推荐

