代码之家  ›  专栏  ›  技术社区  ›  ivan_pozdeev RenanSS

如果用VBA填充表,则不会在以下页上自动重复标题行

  •  1
  • ivan_pozdeev RenanSS  · 技术社区  · 6 年前

    在Word模板中,我有一个仅由标题行组成的表模板,其中“允许行跨页中断”未设置,而“在每页顶部重复为标题行”设置为:

    在一个VBA脚本中(从Excel通过 word.application if that matters),我添加了许多数据行,如下所示,这样表就比页面大了:

    dim table as word.table
    set table=<获取表>
    调暗数据()
    数据=数组(“a”、“b”、“c”、“d”、“e”)
    
    将r作为word.row,i,j作为long
    对于j=1至100
    设置r=table.rows.add()。
    对于i=0到ubound(数据)
    r.cells.item(i+1).range.text=数据(i)
    接下来
    接下来
    

    数据行看起来很好,但标题行不会在以下页面上重复,尽管进行了设置。


    在网上找到的解决方案如下:

    1 回复  |  直到 6 年前
        1
  •  1
  •   ivan_pozdeev RenanSS    6 年前

    这很可能是一个错误。从2007年到2016年我都看过。

    这是我发现的一个解决方法:

    'Headings do not start replicating themselves on further pages automatically
    'even though they should.
    'Have to force their reformat manually.
    Application.ScreenUpdating = False
    table.Rows(1).HeadingFormat = False
    Application.ScreenUpdating = True
    table.Rows(1).HeadingFormat = True
    

    所有操作都是必需的,订单也是如此。 否则,没有效果。

    推荐文章