首页 > 代码库 > 比对两个Word文件内容是否一致的C#解决办法
比对两个Word文件内容是否一致的C#解决办法
using System;using System.Windows.Forms;using System.Diagnostics;using Microsoft.Office.Interop.Word;namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //加载之前首先判断系统中是否包含WORD.EXE进程,如果包含,将其杀死,然后再进行查看 KillProcess(); MessageBox.Show(CompareWordFile(@"C:\1.DOC", @"C:\2.DOC").ToString()); } public bool CompareWordFile(String source, String target) { object filename = source; var targetFileName = target; object missing = System.Reflection.Missing.Value; object readonlyobj = false; var app = new ApplicationClass { Visible = false }; var doc = app.Documents.Open(ref filename, ref missing, ref readonlyobj, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); doc.TrackRevisions = true; doc.ShowRevisions = true; doc.PrintRevisions = true; object comparetarget = WdCompareTarget.wdCompareTargetNew; doc.Compare(targetFileName, ref missing, ref comparetarget, ref missing, ref missing, ref missing, ref missing, ref missing); var changeCount = app.ActiveDocument.Revisions.Count; Object saveChanges = WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref saveChanges, ref missing, ref missing); app.Quit(ref saveChanges, ref missing, ref missing); return changeCount == 0; } public void KillProcess() { const string processName = "WINWORD"; var process = Process.GetProcessesByName(processName); try { foreach (var p in process) { p.Kill(); } } catch (Exception) { MessageBox.Show("请先关闭系统中的WINWORD.EXE进程!", "文件对比失败", MessageBoxButtons.OK); return; } } }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。