public partial class Form1 : Form { public Microsoft.Office.Interop.Word.Document document; public Microsoft.Office.Interop.Word.ApplicationClass wd = null; public string filename = null; private bool deactivateevents = false; public int iWordID = 0; public Form1() { InitializeComponent(); } #region 加载文档 /// <summary> ///加载须要处置惩罚的文档,备份,处置惩罚新生成的文档 /// </summary> /// <param name="t_filename">须要处置惩罚的文件途径及称号,比方:C:\Users\jiankunking\Desktop\11.doc</param> /// <param name="NewFileName">新文件名(包括途径),比方:C:\Users\jiankunking\Desktop\22.doc</param> public void WordHandle(string t_filename, string NewFileName) { deactivateevents = true; filename = t_filename; if (wd == null) wd = new Microsoft.Office.Interop.Word.ApplicationClass(); try { if (wd == null) { //自定义处置惩罚 } if (wd.Documents == null) { //自定义处置惩罚 } wd.CommandBars.AdaptiveMenus = false; wd.DocumentBeforeClose += new Microsoft.Office.Interop.Word.ApplicationEvents4_DocumentBeforeCloseEventHandler(OnClose); wd.DocumentOpen += new Microsoft.Office.Interop.Word.ApplicationEvents4_DocumentOpenEventHandler(OnOpenDoc); wd.ApplicationEvents4_Event_Quit += new Microsoft.Office.Interop.Word.ApplicationEvents4_QuitEventHandler(OnQuit); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } if (document != null) { try { object dummy = null; wd.Documents.Close(ref dummy, ref dummy, ref dummy); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } object fileName = filename; object newTemplate = false; object docType = 0; object isVisible = true; object missing = System.Reflection.Missing.Value; try { document = wd.Documents.Add(ref fileName, ref newTemplate, ref docType, ref isVisible); if (document == null) { //自定义处置惩罚 } //这里猎取历程信息,是为了封闭历程用的 //Process[] processes = Process.GetProcessesByName("WINWORD"); //iWordID = processes[processes.Length - 1].Id; object newfileName = NewFileName; document.SaveAs(ref newfileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); string sBKName = string.Empty; foreach (Microsoft.Office.Interop.Word.Bookmark bk in document.Bookmarks) { sBKName = bk.Name; //word中的书签操纵 } document.Save(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } deactivateevents = false; } #endregion /// <summary> /// catches Word's close event /// starts a Thread that send a ESC to the word window ;) /// </summary> /// <param name="doc"></param> /// <param name="test"></param> private void OnClose(Microsoft.Office.Interop.Word.Document doc, ref bool cancel) { if (!deactivateevents) { cancel = true; } } /// <summary> /// catches Word's open event /// just close /// </summary> /// <param name="doc"></param> private void OnOpenDoc(Microsoft.Office.Interop.Word.Document doc) { OnNewDoc(doc); } /// <summary> /// catches Word's newdocument event /// just close /// </summary> /// <param name="doc"></param> private void OnNewDoc(Microsoft.Office.Interop.Word._Document doc) { if (!deactivateevents) { deactivateevents = true; object dummy = null; doc.Close(ref dummy, ref dummy, ref dummy); deactivateevents = false; } } /// <summary> /// catches Word's quit event /// normally it should not fire, but just to be shure /// safely release the internal Word Instance /// </summary> private void OnQuit() { //wd=null; } }
该代码段能够用来完成,翻开某个Word文档,对个中的内容举行修正替代,比方:修正书签或许替代书签之类的。
以上就是C# 对Word文档举行处置惩罚 的内容,更多相关内容请关注ki4网(www.ki4.cn)!