You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C# Word Interop在Windows自托管代理自动设置Word表格两行段中不分页

问题原因

你选中的是跨两个表格单元格的范围,此时wordApp.Selection.Paragraphs会因为选中范围包含表格单元格结构边界,无法正常返回段落集合。你不需要依赖Selection对象操作,直接对已构造的Range对象自带的Paragraphs属性设置即可。

修正后的代码逻辑

你可以把最后三行代码替换为以下内容:

// 不需要调用Select(),直接操作构造好的Range对象即可
Range targetRange = document.Range(ulCell.Range.Start, lrCell.Range.End);
// 额外关闭表格行跨页断行开关,避免表格行本身被拆分
imagesTable.Rows[1].AllowBreakAcrossPages = 0;
imagesTable.Rows[2].AllowBreakAcrossPages = 0;
// 给范围内所有段落设置段中不分页、与下段同页
Paragraphs p = targetRange.Paragraphs;
p.KeepTogether = -1; // Word Interop里布尔属性真值为-1,部分环境写1也能兼容
p.KeepWithNext = -1;

补充说明

如果需要严格对齐Word手动操作Keep Lines Together的效果,只需要设置KeepTogether属性即可,KeepWithNext是对应“与下段同页”的设置,可根据你的实际需求选择是否保留。

内容的提问来源于stack exchange,提问作者VA systems engineer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:45:06