Wordの差し込み文書の印刷順設定をExcelで計算する話
Wordで差し込み文書を使っています。
その印刷順について。
ご興味とお時間があればお付き合いください。やや長いです。
こういうやり方をすれば良いよ、というのをご存じなら教えていただけると嬉しいです😊
Excelデータから10~120データをWordの差し込み文書で作成します。
この文書をA4に2枚ずつ印刷します。画像のようになります。1,2を1枚。3,4を1枚に印刷します。このように最大120まで印刷します。
印刷後に真ん中から切って分けます。
切ったものを番号順に並べます。
A5用紙に印刷すれば並べ替えは不要ですが、そのためにA5用紙は用意できません。
枚数が多くなると並び替えに時間がかかります。
切ったものをまとめて重ねるだけで順番になるようにしたいです。
Excelで順番になるようにページ指定を作っています。ページ数を指定すると、印刷の順番を指定する文字列を作ります。
VBAで書くと人によってはメンテナンスできないのでExcelのセル関数で作成しています。
現状の方法を説明します。
セルB1に印刷するページ数(データ数)を入力します。
C1は、=EVEN(B1) です。奇数なら偶数に切り上げます。
通常はC列は非表示です。
A4~A63には1~60を設定しています。
B4は =A4+C$1/2 を設定しています。
B5~B63にはB4をコピーして貼り付けています。
4行目以降のA列B列の数字が、1枚目以降にそれぞれ印刷するページになります。
例えば全部で102データあるときは、
1枚目 1ページ目と52ページ目
2枚目 2ページ目と53ページ目
となります。
C4は ="p1s"&A4&IF(B4<=B$1,",p1s"&B4,"") を設定。
C5は =C4&",p1s"&A5&IF(B5<=B$1,",p1s"&B5,"") を設定。
C6~C25 には、C5をコピーして貼り付けています。
C26は ="p1s"&A26&IF(B26<=B$1,",p1s"&B26,"") を設定。
C27は =C26&",p1s"&A27&IF(B27<=B$1,",p1s"&B27,"")を設定。
C28~C45 には、C27をコピーして貼り付けています。
C46~C63もC28~C45と同様にしています。
通常は4行~63行は非表示にしています。
E1は =IF(C1<45,XLOOKUP(C1,B4:B25,C4:C25),C25)
E2は =IF(C1<45,"",IF(AND(C1>44,C1<85),XLOOKUP(C1,B26:B45,C26:C45),C45))
E3は =IF(C1<85,"",XLOOKUP(C1,B46:B63,C46:C63))
該当するページ指定を選んで表示します。
文字列は255文字までなので、長い場合は途中で区切っています。
長い場合は最大3回に分けて印刷します。
Wordで印刷の設定をして印刷します。
印刷後に真ん中から切って、左側の下に右側を入れると、上から順番になります。
--
こんな感じでやっています。
どうしてもExcelを使う必要はありませんが、用意できるものはWindowsとMicrosoft系のオフィスソフトです。
この方法でもExcelが苦手なら理解できませんが、セル関数を使って計算することは許容範囲です。
こういう方法で出来るよ、というのがあれば教えてほしいです。Excelで計算する方法でなくても構いません。そもそもWord側での設定があればそっちのほうが良いです。
よろしくお願いします。
私も同じように、A4用紙1枚に4枚の書類を印刷していて、裁断機でカットする時が面倒だし、カット後の並び替えにも苦労していました。70枚ほどなので我慢してやっていましたが。
今思った事は、最初から紙を裁断しておいて、ページの順番に印刷しようかなと思いました。
(Y. Daemonさんはしないと書かれている方法ですけど)
でもそうすると印刷用の原稿データも変えなくちゃいけないので面倒ですが…
やっぱり面倒なので、今まで通りの印刷するかも。
>こういう方法で出来るよ、というのがあれば教えてほしいです
まだよく読み解いていないので、明日以降に考えてみます。
そもそも印刷のページ指定時にページ番号じゃなくて「p1s1」など指定できる事を知りませんでした!(レベル低くてすみません)
>> さと さん
ありがとうございます😊事前に紙を切っておいても使えるプリンターが用意出来ない状態です😅 共有プリンターなのです。
差し込み文書でファイルを作ると次データの前にセクション区切りが入るのでp1s1形式で指定しています。改行、セクション区切り、何も無し、など選べたら良いと思うのですが🥲
その時は、これで完璧、というレベルまでいったのですが、その後、スマホアプリを使うようになったので、すっかり忘れました。\(^o^)/
というわけで、見ているだけですみません。
考えました!
■方法
印刷時に1枚に2ページ印刷する方法ではなく、差し込み印刷を、ラベル形式として1ページに左右2枚のラベルを印刷する形式にします。
■方法(EXCEL側)
EXCELデータの方に、ページ番号列を付加します(上図左側)
つまり、51件目までのデータはページを1,3,5,9.11,13,15...と奇数で振り、52件目のデータからページ番号を2,4,6,8,10....と偶数で振ります。
■方法(WORD側)
WORDの方で差し込み文書のアドレス帳の編集で、
並び替え>優先されるフィールド>
の所に上のEXCELで振ったページ番号を指定します。
これで印刷すればOK!
(と思ったけど、もっと簡単な方法が・・・)
そもそも、WORDでラベル形式を選択せず、現状のままでOK。
EXCELにページ番号列を追加したら、
ただ差し込み印刷の文書の並び順を、ページ順にするだけでOKでした。
あとは今まで1枚に2ページ印刷する設定で、何もページ指定せずに全印刷すればOKですね。
>> さと さん
ありがとうございます😊並び順の列を追加して、印刷順を指定すればできました。
最初は1にして、次は =D2+2 のようにしてみました。
半分のところ(奇数なら切り上げのところ)で、2 を設定すればちょうど良い感じになりました。
これならいろいろ面倒なく印刷できると思います。
ありがとうございました。
>> アッカリ〜ン@_@….,….,…😅 さん
Wordの差し込み文書の説明って、どうしてか住所録からのデータばかりのため、住所ラベル用と思ってしまいがちでした。実際は何のデータでも良いので、製品識別用や試験記録のようなものに使っています。
データはExcelの表で管理、書式はWordというのは結構使いやすいです😊
以前はAccessで設計してVBAで書きまくる、というのもやっていましたが、他の人がなかなか使えないのでWord-Excelは馴染みやすいと思います。
>> Y. Daemon@ポリアモラス さん
楽な方法が見つかって良かったです。私も似たような事をしているのですが、裁断機がボロくて5枚くらいしか一度に裁断できなくて、5枚ずつページ順を更新して行くのか、とか考えただけで大変そうなので、たぶん今のまま手動並び替えでやり続けると思います。