• 締切済み

WORDのコピー

A.docの2ページと4ページ、つまり偶数ページを b.docにコピーするにはどのようにすればいいのでしょうか? copyメソッドだとA.docの内容を全てコピーしてしまいます。 VBA初心者なもので何か方法があれば教えていただけないでしょうか。

みんなの回答

  • a999a999
  • ベストアンサー率68% (11/16)
回答No.3

途中経過です。 下のものを作りました。 改ページがどこで出現するかを調べます。 Sub 改ページを見つける() ActiveDocument.Paragraphs(1).Range.Select 全ページ = Selection.Information(wdNumberOfPagesInDocument) 絶対ページ = Selection.Information(wdActiveEndPageNumber) 前ページ = 絶対ページ For 絶対行 = 1 To 1000 ActiveDocument.Paragraphs(絶対行).Range.Select 絶対ページ = Selection.Information(wdActiveEndPageNumber) ページ行 = Selection.Information(wdFirstCharacterLineNumber) If 前ページ <> 絶対ページ Then MsgBox "ここが改ページ" 前ページ = 絶対ページ End If Next End Sub 1行目から下にずれていきます。 各行ごとに現在のページを調べています。 ページが変わったら、メッセージが出ます。 考え方ですが 元の文書をコピーします。 コピーした文書の偶数ページだけ削除したら 「奇数ページ文書」の完成、というように考えています。 上はそのための改ページを見つける部分です。 改ページがきたらそこまでを削除 ただし、1回目は削除、2回目はスキップ(偶数ページ、奇数ページ) という処理で、偶数ページ文書の完成です。 逆で奇数ページを作成。 まだ未完成で 改ページを挿入したページと 改ページの無いページでは ページのとらえ方が違うようで 見つける改ページポイントが1つずれてしまいます。 最悪、文書の最大行を Inputboxなどで入力してもらえれば 可能だろうと思いますが・・。 まだすすめているところですが 途中報告です。 良かったら閉めずにもう少しお待ち下さい。 お時間ありましたら、お手数ですが 上のものを試して頂けますか。 良い案があったら教えて下さい。 下のページを参考にしました。 http://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fJAPAN%2fsupport%2fkb%2farticles%2fj040%2f1%2f99.asp

  • a999a999
  • ベストアンサー率68% (11/16)
回答No.2

回答ではありませんが 以下を参照下さい。 http://www.microsoft.com/japan/support/kb/articles/J040/1/99.asp http://www5c.biglobe.ne.jp/~yamag/data/ETC/Books.html http://www.harapan.co.jp/honyaku/Macro_Bunko/b_w_property.htm いくつか本を見てみないと分かりませんが できると思います。 ExcelVBAの初心者なので まったく自信無しです。 考え方ですが 現在カーソルのある位置の ページ数、行数などは分かるはずです。 極端な話だと 一行ずつ下にずれながら 現在ページが変わったら そこまでをコピー、 別ファイルに貼り付け という処理は可能だと思います。 良かったら少し時間をいただけますか。 (自信無しですが)

kobayan
質問者

お礼

いろいろ考えてくださってありがとうございます。 もう半ば諦めていました。 でもなんだかできそうな気がしてきました。 私のためにわざわざ時間を割いてくださって本当に ありがとうございます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(1)数ページしかなくて、手作業でやっても、いやにならない ページ数について質問なのか、(2)とても手作業でやっておれ ないページ数について偶数ページをコピーしたいのかに よってやり方考え方が変わると思います。VBAを言及している ことを見ると後者なのですか。 後者ではわたしには判りません。WordBasicやWordVBAの 解説書は1冊程度しか御目にかかった事がなく、Paragraph 等の単位はあるが、ページという単位の考えはあるので しょうか。仮にあっても配列のように、要素数(第何ページ)で 何ページを表現させてくれないと、プログラム上捉えられない ですよね。 以前から、わたしも知りたいと思っている点です。 前者なら、ワードで表示-ツールバー-クリップボード- 第1ページを反転-コピー-第3ページを反転-コピー- 例えば第5ページ以下に、クリップボード上の「すべて貼りつけ」 により、第1ページと第3ページを貼りつけ、でいかがですか。同じ文書でしかテストしていませんが、異文書へも コピーできると思います。

kobayan
質問者

お礼

お返事ありがとうございます。 私もWORDのマクロの本を探したのですが、 ぜんぜんみつかりませんでした。 やはり難しいみたいですね。 違う手段を考えてみます。

関連するQ&A