c# - 替换 Word Interop 16 中的文本
问题描述
微软没有在文档中给出完整的代码。但是有了这个我的代码尝试下面的文本没有被替换。出了什么问题以及如何将替换的内容保存到名为的文件中Word2.docx
?
using Microsoft.Office.Interop.Word;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
SearchReplace();
}
private static object missing; // <- Is this correct ?
private static void SearchReplace()
{
Application application = new Application();
application.Documents.Add("C:\\Users\\test\\Desktop\\word.docx");
Microsoft.Office.Interop.Word.Find findObject = application.Selection.Find;
findObject.ClearFormatting();
findObject.Text = "find me";
findObject.Replacement.ClearFormatting();
findObject.Replacement.Text = "Found";
object replaceAll = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
application.Documents.Save();
}
}
}
解决方案
我认为您有缺少定义的问题,我添加了保存方法:
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
SearchReplace();
}
private static void SearchReplace()
{
object missing = System.Reflection.Missing.Value;
Application application = new Application();
Microsoft.Office.Interop.Word.Document document = application.Documents.Add("C:\\Users\\test\\Desktop\\word.docx");
Microsoft.Office.Interop.Word.Find findObject = application.Selection.Find;
findObject.ClearFormatting();
findObject.Text = "find me";
findObject.Replacement.ClearFormatting();
findObject.Replacement.Text = "Found";
object replaceAll = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
object filename = "C:\\savefile.docx";
document.SaveAs2(ref filename);;
document.Close(ref missing, ref missing, ref missing);
document = null;
application.Quit(ref missing, ref missing, ref missing);
application = null;
}
}
}
推荐阅读
- python - 如何检查一个变量的两个条件?
- fabricjs - fabricjs 剪辑路径不按尺寸工作
- vb.net - Tapi 与团队/其他 cisco 系统一起使用
- javascript - ESLint:让它理解///
VS Code 中有什么方法可以让 ESLint 理解
/// <reference path
指令,这样它就不会no-undef
为引用的 JS 文件中定义的变量/函数抛出错误?它似乎以某种方式工作,但不完全:VS Code function descri
- php - 获取当前路由规则
- bash - 遍历给定文件夹的文件 - Bash
- jquery - 按文本而不是它的值对数据表列进行排序
- grpc - 这对 proto 文件来说是一个糟糕的结构吗
- c# - 父实体上的软删除,但子/关系 EF Core 上的硬删除
- python - 无法同时运行烧瓶和 scapy