gpt4 book ai didi

c# - 错误 "string parameter too long"。在 microsoft.office.interop.word.find.execute

转载 作者:太空狗 更新时间:2023-10-29 23:08:07 24 4
gpt4 key购买 nike

我想使用 C# 创建一个 world 文档。所以这是我用于替换 word 文档变量的代码。

 private void FindAndReplace(Microsoft.Office.Interop.Word.Application WordApp, object findText, object replaceWithText) 
{
try {
object matchCase = true;
object matchWholeWord = true;
object matchWildCards = false;
object matchSoundsLike = false;
object nmatchAllWordForms = false;
object forward = true;
object format = false;
object matchKashida = false;
object matchDiacritics = false;
object matchAlefHamza = false;
object matchControl = false;
object read_only = false;
object visible = true;
object replace = 2;
object wrap = 1;

WordApp.Selection.Find.Execute(ref findText,
ref matchCase, ref matchWholeWord,
ref matchWildCards, ref matchSoundsLike,
ref nmatchAllWordForms, ref forward,
ref wrap, ref format, ref replaceWithText,
ref replace, ref matchKashida,
ref matchDiacritics, ref matchAlefHamza,
ref matchControl);
} catch (Exception error) {
lblerror.Visible = true;
lblerror.Text = error.ToString();
}
}

但是在这里如果“replaceWithText”太孤单就会出现错误,它会说

String parameter too long.

那么如何替换长字符串呢?

最佳答案

代替使用 Find.Execute() 替换:查找文本,获取其位置,插入新文本。这不会限制您新字符串的长度。

替换特定文本的示例

// Find text 
Range range = doc.Content;
range.Find.Execute(findText);
range.Text = "new text...";

在特定文本后添加新文本的示例

// Find text 
Range range = doc.Content;
range.Find.Execute(findText);
// Define new range
range = doc.Range(range.End + 1, range.End + 1);
range.Text = "new text...";

关于c# - 错误 "string parameter too long"。在 microsoft.office.interop.word.find.execute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19533877/

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