c#操作Word文档:按页分割文件

由于项目原因,下面的代码只有主要的一段。

 

loopCount :要拆分的文件数,使用文档中的总页数(PageCount )/要拆分的页数(maxPage )

doc:原文档对象;

wdApp:Word Application对象;

maxPage :多少页分割成一个新文档,这个变量的命名好像不好。我的程序中,此变量是定义在配置文件中的。

                object docType = Word.WdNewDocumentType.wdNewBlankDocument; 
                object falseObj = false; 
                object pageMark = @”page”;

                for (int i = 0; i < loopCount; i++)
                {
                    try
                    {
                        Word._Document newDoc = wdApp.Documents.Add(ref missingValue, ref missingValue, ref docType, ref falseObj);
                        for (int j = 0; j < maxPage; j++)
                        {
                            try
                            {
                                doc.Activate();
                                doc.Bookmarks.get_Item(ref pageMark).Range.Cut();
                                newDoc.Activate();
                                wdApp.Selection.PasteAndFormat(WdRecoveryType.wdPasteDefault);
                            }
                            catch { }
                        }
                        object newDocFileName = GetNewFileName(doc.FullName, i);
                        newDoc.SaveAs(ref newDocFileName, ref missingValue, ref objFalse, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue);
                        splittedDoc.Add(newDoc);
                    }
                    catch (Exception ex)
                    {                     // exception                
                    }
                }