C# 如何获取当前word';是否删除该段?

C# 如何获取当前word';是否删除该段?,c#,C#,我正在做一个单词关系应用程序,现在我有一个书签在一个位置,我如何才能得到当前段落并删除它?谢谢。代码如下 /// <summary> /// Word Application class /// </summary> public class WordApplication { object nullobj=Missing.Value; _Application app; _Document doc; public WordApp

我正在做一个单词关系应用程序,现在我有一个书签在一个位置,我如何才能得到当前段落并删除它?谢谢。代码如下

    /// <summary>
/// Word Application class
/// </summary>
public class WordApplication
{
    object nullobj=Missing.Value;
    _Application app;
    _Document doc;

    public WordApplication()
    {
        app=new ApplicationClass();
        Config config = new Config();
        object file = config.InputFilePath;
        try {
            doc=app.Documents.Open(ref file,ref nullobj,ref nullobj,
                ref nullobj,ref nullobj,ref nullobj,
                ref nullobj,ref nullobj,ref nullobj,
                ref nullobj,ref nullobj,ref nullobj,
                ref nullobj,ref nullobj,ref nullobj,ref nullobj) as _Document;
            doc.Activate();
        } catch(Exception ex) {
            Logger.Log(ex);
            throw ex;
        }
    }
    /// <summary>
    /// Remove current paragraph
    /// </summary>
    /// <param name="bookmark"></param>
    public void RemoveParaghRange(string bookmark)
    {
        foreach (Bookmark bm in doc.Bookmarks) {
            if (bm.Name.Equals(bookmark)) {
                //TODO:That's the point.How can I do it?
            }
        }
    }
}
//
///Word应用程序类
/// 
公共类应用程序
{
对象nullobj=缺少.Value;
_应用程序;
_文件文件;
公共WordApplication()
{
app=新应用程序类();
Config=new Config();
对象文件=config.InputFilePath;
试一试{
doc=app.Documents.Open(ref file,ref nullobj,ref nullobj,
ref nullobj,ref nullobj,ref nullobj,
ref nullobj,ref nullobj,ref nullobj,
ref nullobj,ref nullobj,ref nullobj,
ref nullobj,ref nullobj,ref nullobj,ref nullobj)作为_文件;
doc.Activate();
}捕获(例外情况除外){
Logger.Log(ex);
掷骰子;
}
}
/// 
///删除当前段落
/// 
/// 
公共无效删除段落(字符串书签)
{
foreach(文档书签中的书签bm){
if(bm.Name.Equals(书签)){
//托多:这就是重点。我该怎么做?
}
}
}
}

要点是:如何获取当前段落,然后删除此段落。

您可以使用以下命令将当前选择移动到书签:

然后,可以使用选择对象处理书签引用的对象:

var paragraphs = app.Selection.Paragraphs;

?您的数据结构如何?文本只是一个长字符串,而您的书签是该字符串中某个位置的索引吗?还是有更复杂的事情发生?我已经更新了我的代码,请参考。谢谢。谢谢,然后,我如何删除此段落?在VBA中,它是
myparagration.Range.delete()
,互操作库可能包含类似的方法。object oBookmark=bookmark;doc.Bookmarks.get_项(参考oBookmark.Select();对象单位;单位=WdUnits.wd段落;对象扩展;oExtend=WdMovementType.wdExtend;int start=app.Selection.MoveUp(参考单位,参考值nullobj,参考值nullobj);int end=应用选择下移(参考单位,参考nullobj,参考oExtend);对象oStart=开始;对象结束=结束;范围范围=文件范围(参考oStart,参考oEnd);单位=WdUnits.wdCharacter;删除范围(参考单位,参考空值)@王宏建:我不知道。如果您想调试它,我建议您直接使用Word和VBA,这将帮助您找到问题所在。
var paragraphs = app.Selection.Paragraphs;