微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[VSTO Word]如何获取PasteAndFormat后的范围?

如何解决[VSTO Word]如何获取PasteAndFormat后的范围?

我的代码如下:

YourName

比如新建一个Word文档,输入“ABC”,如果我选择整个“ABC”并运行程序,范围不会改变,但如果我选择一个字符并运行程序,范围将为空,为什么会发生这种情况?我必须进一步编辑范围。

解决方法

我更改了代码,现在可以在 PasteAndFormat 之后获取范围了。

    Word.Selection selection = wordApp.Selection;
    int start = selection.Start;
    int count = selection.Text.Length;
    selection.Copy();
    selection.PasteAndFormat(Word.WdRecoveryType.wdFormatPlainText);
    int newStart = selection.Start;
    selection.SetRange(start,newStart);
    Word.Range range = selection.Range;
    if (range == null)
        MessageBox.Show("The Range is null currently");
    else
        MessageBox.Show("Range :" + range.Text);

我猜可能“Range”是一种格式,在 PasteAndFormat(wdFormatPlainText) 之后就清楚了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。