使用EXCEL中的VBA代码复制WORD文档的上下文和格式

EXCEL ,我有一些VBA代码来打开Word文档A并将其内容从某个页面复制到一个新文档。 目前,我可以复制它的文本。 我想知道如何复制contextformatting 。 下面是我目前的代码,我感谢任何build议!

 Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add objWord.Visible = True Set objSelection = objWord.Selection 'Prepare Document B objDoc.SaveAs (Folderpath to Document B) Set objTempWord = CreateObject("Word.Application") Set tempDoc = objWord.Documents.Open(Folderpath to Document A) 'copy context from Document A With tempDoc.Application .Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Name:="2" .Selection.EndKey Unit:=wdStory, Extend:=wdExtend .Selection.Copy End With objSelection.TypeParagraph objSelection.Paste objSelection.InsertBreak Type:=wdSectionBreakNextPage tempDoc.Close objDoc.Application.Statusbar = False objDoc.Save 

这里这样做,没有多余的额外的应用程序对象,没有使用select:

 Dim objWord As Word.Application Dim objDoc As Word.Document, newDoc As Word.Document Dim r As Word.Range, r2 As Word.Range Set objWord = CreateObject("Word.Application") 'or Set objWord = new Word.Application Set objDoc = objWord.Documents.Open(FolderpathToDocumentA) Set newDoc = objWord.Documents.Add newDoc.SaveAs FolderpathToDocumentB Set r = objDoc.GoTo(what:=wdGoToPage, which:=wdGoToAbsolute, Name:=2) r.End = objDoc.Range.End 'copy context from Document A r.Copy newDoc.Content.InsertBreak Type:=wdSectionBreakNextPage newDoc.Range(newDoc.Content.Start, newDoc.Content.Start).Paste newDoc.Content.InsertBefore vbCrLf newDoc.Save objWord.Quit 

这是否做你所需要的?