如何在没有这种奇怪结果的情况下合并Google文本文档中表格的两个单元格?

cra*_*ice 8 google-docs google-apps-script

我已经写了这个函数(谢谢@Mogsdad)来合并文本google文档中表格中的单元格,如下所示:

在此输入图像描述

function onOpen() {
  // Add a menu with some items, some separators, and a sub-menu.
  DocumentApp.getUi().createMenu('Sample')
      .addItem('merge cells of a table', 'mergeCells')          
      .addToUi();
}



function mergeCells() {
  var body = DocumentApp.getActiveDocument().getBody();
  for (var p= 0; p< body.getNumChildren(); p++) {
    var child = body.getChild(p);
    if (child.getType() == DocumentApp.ElementType.TABLE){
      // Assume we've already located our table
      var table = child;
      var tableRow = table.getChild(2); // gets third row
      var tableCell = tableRow.getChild(1); // gets second cell in row
      tableCell.merge(); // Merges seconde cell with first cell.      
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行代码时,我得到了这个奇怪的结果(与预期的非常不同,合并的单元格具有相同的表格尺寸):

在此输入图像描述

有办法解决吗?(具有相同尺寸的合并单元格)

Hen*_*reu 11

[ 编辑以解决Google文档中的更新]

这目前不可能.你可以通过调用getColSpangetRowSpan来知道是否合并了一个单元格,但是没有setter方法.

请为以下问题加注星标,以便通知此更新.

您找到的合并函数不是特定于表格单元格,它是将任何元素与同一类型的先前兄弟合并,加入其内容.


[ 原始答案]

如果您希望有一个合并的单元格,就像您在电子表格中可以做的那样,这是不可能的.仅仅因为在Google文档中这是不可能的(至少现在还没有).因此,API无法执行此操作(它只能执行手动操作的操作).

这个合并函数并不像您想象的那样特定于表格单元格.它按设计工作.