EXCEL
には、Word文書Aを開いて特定のページの内容を新しい文書にコピーするために、VBA
コードがあります。現在、私はそのテキストをコピーすることができます。 context
とformatting
の両方をコピーする方法が不思議です。以下は私の現在のコードです。私は何か提案を感謝します!VBAコードでWord文書のコンテキストと書式をEXCELでコピーする
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
それはあなたが必要なものをやるん:ここ
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
あなたのコードは私のためにテキストと書式の両方をコピーしました。あなたはワークブックを秀でていますが、Microsoft Word ##。#Object Libraryにリファレンスがありますか? –
これはなぜですか? 'Set objTempWord = CreateObject(" Word.Application ")'? – LocEngineer
@ThomasInzina、ご意見ありがとうございます。しかし、私はラインスペースが異なっていることを発見しました(フォントサイズは同じままです)。 –