gpt4 book ai didi

c# - 如何使用C#删除word中当前选中的表格行?

转载 作者:行者123 更新时间:2023-11-30 18:36:33 38 4
gpt4 key购买 nike

案例是这样的:我选择的是一个表中的两行数据,我想删除这两行。当我使用下面的代码时,行中的内容被删除了,但是行还在。所以,我的问题是:如何删除整行?谢谢。顺便说一句,我使用“书签”来操作选择。

/// <summary>
/// Delete table row
/// </summary>
/// <param name="bookmark"></param>
public void DeleteTableRow(string bookmark)
{
object oBookmark = bookmark;
if (doc.Bookmarks.get_Item(ref oBookmark) != null) {
doc.Bookmarks.get_Item(ref oBookmark).Select();
object wdLine = WdUnits.wdLine;
object wdParagraph = WdUnits.wdParagraph;
object wdTableRow = WdUnits.wdRow;
object wdCharacter = WdUnits.wdCharacter;
object wdExtend = WdMovementType.wdExtend;
object oCount = 1;

Selection selection = app.Selection;
selection.HomeKey(ref wdLine, ref nullobj);
selection.MoveDown(ref wdLine, ref oCount, ref wdExtend);
selection.Delete(ref wdCharacter, ref nullobj);
}
}

最佳答案

有一个类似的问题,需要删除未使用的表行,采用这种方法:如果您有选择 2 行的“书签”,您可以像这样删除它们(至少在 Word2016 中):

object oBookmark = bookmark;
if (doc.Bookmarks.get_Item(ref oBookmark) != null)
doc.Bookmarks.get_Item(ref oBookmark).Range.Rows.Delete();

似乎有效(至少在 Word2016 中),但不知何故我的格式被破坏了(那是一个噩梦模板),然后继续使用“选择”(并且它运行顺利):

bookmark.Select();
app.Selection.Rows.Delete();

不确定它从哪个版本开始工作,但如果有人遇到同样的问题,我会把它留在那里。

主要是 Range 和 Selection 对象都具有 Rows 属性,它们具有 Delete 方法,其工作方式类似于 Word 中的“删除行”操作。

关于c# - 如何使用C#删除word中当前选中的表格行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621475/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com