|
初めまして,Word VBAに関しましてはほぼ初心者の老人です。
本文の3ページに数字0-5を順次を貼付け、それを別ファイル(DataRec)に貼り付けるとします。ActiveWindowの切り替え防止のため、3Pageを順次、配列に収納、収納完了後、別ファイルをOpenし配列を呼び出しコピペするようにしたいと思います。以下のVBAで行うと以下の不具合が出ました。
1、ページ指定が0からはじまる(3ページ指定には2)
2、実行後、別ファイルには全て変化させた最終ページ(数字5を貼り付けた3ページ)が全て(6ページ分)貼りつく
3、貼り付けられたページの書式が元とことなる(行間等)
宜しくご教示ください。
Sub Pg3toRec() '3pgを文書XにPaste
Dim BufRng(20) As Range
Dim myCNT As Integer
Dim MyNo As Integer
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=2 'Pg3をSel
ActiveDocument.Bookmarks("\page").Range.Select
MyNo = 5
For myCNT = 0 To MyNo
ActiveDocument.Shapes("MyNo").TextFrame.TextRange.Text = myCNT 'Pg3上のMyNoへ書込み
Set BufRng(myCNT) = Selection.Range '配列に収納
Next
Selection.Collapse Direction:=wdCollapseStart 'Sel解除
Documents.Open ThisDocument.Path & "\DataRec.docx" 'DataRecを開く
For myCNT = 0 To MyNo
BufRng(myCNT).Copy '配列Copy
ActiveDocument.Bookmarks("\EndOfDoc").Select '文書の末尾を選択
Selection.PasteAndFormat (wdFormatOriginalFormatting) 'Paste
Next
Windows("DataRec").Activate
End Sub
|
|