Word互操作 - 在符号字体onlyl中查找和替换文本

时间:2014-12-16 09:33:49

标签: c# ms-word interop

我想在Word文档中找到并替换文本,只要它是使用C#

的Symbol字体

到目前为止,这是我的代码:

static void find_replace_text(string find_s, string replace_s, Document document)
{
    object missing = System.Reflection.Missing.Value;
    Range rng = document.Range(0, document.Content.End);
    Find findObject = rng.Find;
    findObject.ClearFormatting();
    findObject.Text = find_s;
    findObject.Replacement.ClearFormatting();
    findObject.Replacement.Text = replace_s;
    findObject.Font.Name = "Symbol";
    findObject.Format = true;


    object replaceAll = WdReplace.wdReplaceAll;
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, true,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);
}

我的代码没有给我预期的结果。当我删除将字体名称和格式设置为true的行时,无论字体如何,我的代码都会替换所有出现的搜索字符串。例如,我正在尝试替换具有字符代码97的字母符号(来自符号字体)。如果没有在代码中设置字体名称,则所有出现的字母都是' a' (ascii 97)被替换。我需要代码才能识别字体。

更新

我现在可以确认代码仅适用于通过将字体更改为“符号”而将符号添加到WORD的情况,但不能通过将符号添加到文档中时将代码添加到WORD中符号UI(不幸的是,它是如何在我需要处理的文档中完成的。)

0 个答案:

没有答案