예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        //全文替换文本 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;
            }
        }