gpt4 book ai didi

c# - 从范围集合填充 Word 文档

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:05 26 4
gpt4 key购买 nike

在我的 Word 插件中,我有一个来自 Document.Words 集合的范围副本列表,如下所示:

private void button1_Click(object sender, RibbonControlEventArgs e)
{
Document doc = Globals.ThisAddIn.Application.ActiveDocument;
List<Range> list = new List<Range>();
foreach (Range word in doc.Words)
{
list.Add(word);
}
MessageBox.Show("list: " + list[0].Text + "|"+ list[1].Text + "|"+ list[2].Text + "|"+ list[3].Text + "|"+ list[4].Text);

list[0].Text = "Hello ";
MessageBox.Show("list: " + list[0].Text + "|"+ list[1].Text + "|"+ list[2].Text + "|"+ list[3].Text + "|"+ list[4].Text);
}

现在我创建一个包含“good good good.”的文档。将列表中的第一项分配给“hello”后,第二项也会发生变化。该消息显示一个列表,其中包含“Hello”、“hello good”(???)、“good”。那么我的代码有什么问题吗?

最佳答案

尝试向列表中添加的不是对 Range 的引用,而是它的值(文本):

var list = new List<string>();
foreach (Range range in doc.Words)
{
list.Add(range.Text);
}

或很快:

var list = new List<string>(doc.Words.Cast<Range>().Select(r => r.Text));

现在您可以在不引用 VSTO 对象的情况下操作字符串。

关于c# - 从范围集合填充 Word 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13676477/

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