防止合并的单元格在页面之间拆分

时间:2014-09-23 00:11:23

标签: vba ms-word word-vba

我正在尝试编写一个程序来从Oracle表创建Microsoft Word文档。

该文档的表格左侧列表示组字段名称,下一列表格中包含与该组相关联的字段。我不希望这些组分页。我执行此操作的代码似乎不起作用 - 这些组仍然在页面中分开。

有谁知道怎么做?

'output table data - data gets loaded into the display table starting at row 3
'(row 1 and 2 are the headers)
For row = 3 To maxrows + 2
    Dim dataRow = dsHDTabCols.Tables(0).Rows(row - 3)  'dataset has rows to output
    If dataRow("KEEP_WITH_NEXT_FLAG") & "" = "K" Then
        oTable.Cell(row, 1).Range.ParagraphFormat.KeepWithNext = True 
    End If
    If dataRow("GROUP_NAME") & "" = "@ditto@" Then 
        VerticalMergeWithPriorRow(oTable, row, 1) 
    Else 
        oTable.Cell(row, 1).Range.Text = dataRow("GROUP_NAME") & "" 
    End If
    oTable.Cell(row, 2).Range.Text = dataRow("COLUMN_NAME") & "" 

请注意,我是垂直合并单元格,所以我只能使用table.cell引用。

Table.rows(nnn)`给出了一个例外。

上面代码处理的数据以keep_with_next_flag设置为“K”的数据行开头,因此代码设置单元格段格式keepwithnext = true。

组中的下一个数据行将带有组名=“@ ditto @”并且keep_with_next_flag设置为“K”。如上所述,代码使用keepwithnext = true设置单元格段落格式。由于它是一个同上,代码将执行VerticalMergeWithPriorRow函数,该函数只将当前单元格与同一列中的单元格合并,但在前一行中。

0 个答案:

没有答案