2017-02-28 45 views
1

当我手动(或通过office.js代码)将行插入到内容控件中的表中时,它会增加contentControls中的内容控件的数量采集。 Word 2016 Windows版本1611.Office.js - 在内容控件中插入表格行会导致错误

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

 Word.run(function (context) { 
      var contentCntrls = context.document.contentControls; 
      context.load(contentCntrls, "tag"); 
      return context.sync().then(function() { 
       app.showNotification("contentCntrls.items.length: " + contentCntrls.items.length, ""); 
      }); 
     }) 

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

此行为与测试版和版本1的office.js代码都会发生。 该问题在Windows上发生,但在Mac上正常工作。

内容控件的计数,如果我通过VBA检查它并没有改变:Debug.Print ActiveDocument.ContentControls.Count

如果用户保存更改(插入行之后),则不会出现这个问题。

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

+0

总结:Juan确定只有在保存到OneDrive时才会出现问题。微软将开展一项修复工作(可能在六月份发布)。解决方法可能是使用Save API来重置内容控制集合。 –

回答

0

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

-------------- LEAVING原来的答案仅供参考---------------------

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

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

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

将行添加到1和2表后,我没有看到item.length随着描述增加,它停留在1个内容控件上。

也没有这样的东西,建立1611的Windows。能否请您提供更多详细资料:

  1. 你怎么插入表格和内容控制
  2. 验证版本号。我在最新的公开可用版本16.7766.2068中试过,请确保在测试之前更新您的客户端。

谢谢!

+0

上面的1611提到Office版本。我现在已经在版本1612和1701上进行了测试,我仍然看到这个问题。 –

+0

你如何获得Office版本? –

+0

以上两条路径都会产生问题。如果文件没有保存,或者在插入内容控制和表格后没有保存,则不会出现问题。因此,用CC和表保存文件,然后插入行(任何方法),然后通常会出现问题(CC计数问题)。保存时,CC计数将重置为正确的数字。我使用Rich Text CC。让我知道我还有什么可以帮忙的。 –