diff --git a/插件库/Lskj.AutoCreatWord/CreateWordUtil.cs b/插件库/Lskj.AutoCreatWord/CreateWordUtil.cs index 11542c0..fdd8acf 100644 --- a/插件库/Lskj.AutoCreatWord/CreateWordUtil.cs +++ b/插件库/Lskj.AutoCreatWord/CreateWordUtil.cs @@ -1687,4 +1687,23 @@ namespace Lskj.AutoCreatWord /// /// /// - \ No newline at end of file + /// + private static void ReplaceTextRange(this Document document, string searchText, string replaceText, bool caseSensitive, bool wholeWord) + { + // 查找所有匹配 + TextSelection[] results = document.FindAllString(searchText, caseSensitive, wholeWord); + if (results == null) return; + foreach (TextSelection selection in results) + { + TextRange textRange = selection.GetAsOneRange(); + if (textRange != null) + { + textRange.Text = Regex.Replace(textRange.Text, Regex.Escape(searchText), replaceText, RegexOptions.IgnoreCase); + string text = textRange.Text; + string splitPattern = @"\r\n|\r|\n"; // 匹配 CRLF (\r\n), CR (\r), LF (\n) + string[] result = Regex.Split(text, splitPattern); + if (result.Length > 1 && textRange.OwnerParagraph != null) + { + Paragraph paragraph = textRange.OwnerParagraph; + CharacterFormat characterFormat = textRange.CharacterFormat; + \ No newline at end of file