Office.js - 在内容控件中插入表行会导致错误

时间:2017-02-28 20:07:50

标签: ms-word office-js

当我手动(或通过office.js代码)将行插入内容控件中的表时,它会增加contentControls集合中的内容控件数。 Word 2016 Windows版本1611。

例如,如果我在1个内容控件中有1个表,则最初是contentControls.items.length = 1.如果我插入3行,则contentControls.items.length = 4.

    Selenium.prototype.doEchoLog = function(strMessage, Level) {   
/**
  * Prints the specified message into the Log (log file) using the level as indicated in the second argument 
  *
  * @param strMessage the message to print
  * @param Level denote the logging level to be used for this message (debug | info | warn | error)
  */

// translate the Level value to a usable one letter value        
    Level = Level.substring(0,1);
    // output the given message to the Log at the indicated level
    if (Level == "d" ) { LOG.debug(strMessage);
    } else if (Level == "i" ) { LOG.info(strMessage);
    } else if (Level == "w" ) { LOG.warn(strMessage);
    } else if (Level == "e" ) { LOG.error(strMessage);
    } else LOG.error("use: echoLog <text> <debug|info|warning|error>");
}

这会在后续代码中产生错误(“内部错误”),该代码使用contentControls集合并最终冻结/崩溃Word。

beta和version 1 office.js代码都会出现这种情况。 该问题发生在Windows上,但在Mac上运行正常。

如果我通过VBA检查内容控件的数量不会改变:Debug.Print ActiveDocument.ContentControls.Count

如果用户保存更改(插入行后),则不会发生此问题。

这是一个错误还是我做错了什么?是否有一些解决方法(可能重置CC集合)?

1 个答案:

答案 0 :(得分:0)

更新:问题已解决。 (编号:1461591)

更新:我们发现了一个错误。文档存储在OneDrive中时发生。我们正在修理它。

--------------给予参考的原始答案---------------------

我试图重复这个问题,但我无法做到。我尝试了两种不同的路径来测试场景:

  1. 插入一个表,选择整个表并手动插入内容控件。

  2. 插入了一个内容控件,在里面添加了几段然后是一个表。

  3. 在第1和第2个表中添加行后,我没有看到item.length在您描述时增加,它保持在1个内容控件。

    也没有针对Windows的build 1611这样的东西。能否请您提供更多详情:

    1. 如何插入表格和内容控件
    2. 验证内部版本号。我在最新的公开版本16.7766.2068中尝试了它,确保在测试之前更新您的客户端。
    3. 谢谢!