/// <summary> /// 域代码转文本 /// </summary> protected void ClearCode() { ShowCodesAndUnlink(_currentWord.Content); for (int i = 1; i <= _wordApp.Selection.Sections.Count; i++) { Section wordSection = _wordApp.Selection.Sections[i]; Microsoft.Office.Interop.Word.Range footerRange = wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; ShowCodesAndUnlink(footerRange); Microsoft.Office.Interop.Word.Range footerRange1 = wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range; ShowCodesAndUnlink(footerRange1); Microsoft.Office.Interop.Word.Range headerRange = wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; ShowCodesAndUnlink(headerRange); Microsoft.Office.Interop.Word.Range headerRange1 = wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range; ShowCodesAndUnlink(headerRange1); } }
//全文替换文本 1.文本 2. 页脚 3. 页眉 protected void Replace(int type, string oldWord, string newWord, int replaceType) { object repalceTypObj = replaceType == 1 ? wdReplaceOne : wdReplaceAll; switch (type) { //1:为文本 default: _wordApp.Selection.Find.Replacement.ClearFormatting(); _wordApp.Selection.Find.ClearFormatting(); _wordApp.Selection.Find.Text = oldWord; //需要被替换的文本 _wordApp.Selection.Find.Replacement.Text = newWord; //替换文本 try { //执行替换操作 _wordApp.Selection.Find.Execute( ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref repalceTypObj,// 指定要执行替换的个数:一个、全部或者不替换。 可以是任何WdReplace常量:wdReplaceAll wdReplaceNone wdReplaceOne ref _missing, ref _missing, ref _missing, ref _missing); } catch (Exception ex) { throw ex; } break; case 2: //页脚 try { for (int i = 1; i <= _wordApp.Selection.Sections.Count; i++) { Section wordSection = _wordApp.Selection.Sections[i]; Microsoft.Office.Interop.Word.Range footerRange = wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; //footerRange.Fields.ToggleShowCodes();//显示域代码 footerRange.Find.ClearFormatting(); footerRange.Find.Replacement.ClearFormatting(); footerRange.Find.Text = oldWord; footerRange.Find.Replacement.Text = newWord; footerRange.Find.Execute(ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref repalceTypObj, ref _missing, ref _missing, ref _missing, ref _missing); // footerRange.Fields.Update();//更新域代码 Microsoft.Office.Interop.Word.Range footerRange1 = wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range; // footerRange1.Fields.ToggleShowCodes();//显示域代码 footerRange1.Find.ClearFormatting(); footerRange1.Find.Replacement.ClearFormatting(); footerRange1.Find.Text = oldWord; footerRange1.Find.Replacement.Text = newWord; footerRange1.Find.Execute(ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref repalceTypObj, ref _missing, ref _missing, ref _missing, ref _missing); //footerRange1.Fields.Update();//更新域代码 } } catch (Exception ex) { throw ex; } break; case 3: //页眉 try { for (int i = 1; i <= _wordApp.Selection.Sections.Count; i++) { Section wordSection = _wordApp.Selection.Sections[i]; Microsoft.Office.Interop.Word.Range headerRange = wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; //headerRange.Fields.ToggleShowCodes(); headerRange.Find.ClearFormatting(); headerRange.Find.Replacement.ClearFormatting(); headerRange.Find.Text = oldWord; headerRange.Find.Replacement.Text = newWord; headerRange.Find.Execute(ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref repalceTypObj, ref _missing, ref _missing, ref _missing, ref _missing); //headerRange.Fields.Update(); Microsoft.Office.Interop.Word.Range headerRange1 = wordSection.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range; //footerRange1.Fields.ToggleShowCodes();//显示域代码 headerRange1.Find.ClearFormatting(); headerRange1.Find.Replacement.ClearFormatting(); headerRange1.Find.Text = oldWord; headerRange1.Find.Replacement.Text = newWord; headerRange1.Find.Execute(ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref repalceTypObj, ref _missing, ref _missing, ref _missing, ref _missing); //footerRange1.Fields.Update();//更新域代码 } } catch (Exception ex) { throw ex; } break; } }