過去の桐井戸端BBS (桐ver.8)
14228 タックシールを両面印刷で行い、単語帳のようなものを作りたい。 のび 2001/11/24-12:56
お初にお目にかかります。のびと申します。
桐はDOS版の最初から使用しておりますが、Windows版はさわり始めたばかりです。
DOS版の桐も、経歴が長いだけで、それほど詳しいわけではありません。

単語帳のようなものを作ろうとしております。
大きさはA4縦を4行×2列に分割しようと思っております。
データは問題と解答を1問1レコードの形で作成し、問題用と解答用のレポートを作成しました。
問題が8問あるとすると、
15
26
37
48
もしくは
12
34
56
78
と印刷されるのですが、いずれにしても、
「1番の問題の裏に1番の解答」
という形にすることが出来ません。これは不可能なのでしょうか?

不可能な場合、B5縦を4行×1列に分割しようと思います。
この場合は問題なく印刷されるはずですが、
この際、両面印刷の出来るプリンタを使い、問題と解答を一気に両面印刷する場合は、
複合レポートというものを使えばいいのでしょうか?
14232 Re:両面印刷とタックシール 正くん 2001/11/24-17:14
記事番号14228へのコメント
えーっと、初心者の思いつきで書きますがこれではだめかな?
A4縦を4行×2列、つまり8つのカードを作るとして
次のような表を作成します。

[Q番号]--[問題]--[A番号]--[解答]
101 XXXXXXXX 112 YYYYYYYY
102 XXXXXXXX 111 YYYYYYYY
103 XXXXXXXX 114 YYYYYYYY
104 XXXXXXXX 113 YYYYYYYY

1ページ目の[Q番号]は101から108、[A番号]は111から118(但し2レコードづつ番号を逆にする)。
2ページ目はそれぞれ201から208と211から218、以下同様。
次に書き出しと読み込みを使って[A番号]と[解答]をそれぞれ[Q番号]と[問題]の下に読み込む。
レコード数は倍になり、印刷項目は[問題]だけになります。
次に[Q番号]を昇順に並べ替えて、前もって定義しておいたレポートで印刷する。
101の裏に112(10番目のレコード)、102の裏に111(9番目のレコード)がくる。
難しい印刷定義はいらないように思います。
両面印刷用プリンターの仕様や使い方は分かりません。(レポート定義とは別の作業なので、
うまくいかなかったらごめんなさい)


14233 Re:両面印刷とタックシール pokopon 2001/11/24-18:07
記事番号14228へのコメント
のびさん こんんちは

>単語帳のようなものを作ろうとしております。

おそらく「タイル」を使っているのかと思いますが、そのタイル内には同じレコードの項目値だけしか
(出来ないこともないだろうけでど)印刷されません。
単にブロックでレコード順に繰り返して印字しているだけです。
ですので、同一面に、問題と解答を同時に、それも他のレコードの値を並べて印字というのは無理かと思います。
やはり、問題は問題で印刷、その裏に解答は解答で印刷した方が簡単かと思います。

で、簡単にこれらを実現するには、新しく[裏No]という項目をつくります。
裏印刷用のレコードの並び順を指定するものです。

項目が [No]、[問題]、[解答]、[裏No] としておきます。

表には
Q1 Q2
Q3 Q4
Q5 Q6
Q7 Q8
と印字し、裏には
A2 A1
A4 A3
A6 A5
A8 A7
と印字すればよいのですから、
これをレコード順に並べると
[No] [問題] [解答] [裏No]

1  Q1  A1  2
2  Q2  A2  1
3  Q3  A3  4
4  Q4  A4  3
5  Q5  A5  6
6  Q6  A6  5
7  Q7  A7  8
8  Q8  A8  7

とデータが並べば良いのです。

ですので、[裏No]の項目に、項目計算式として
  #COND(#MOD([No],2)=0,[No]-1,1,[No]+1)
としておけば、[裏No]には裏用の順番が自動で計算されます。

問題を印刷する時----[No] で昇順並べ替え後----表用タイルにて印刷 
解答を印刷する時----[裏No]で昇順並べ替え後----裏用タイルにて印刷
もちろんタイルの印字方向は「横」です。

で解決しませんか?
最近のページプリンタも性能がアップし、表の印刷後の紙の順番さえ狂わなければ、
裏印刷もそのまま順番に上手くいくかと思います。
後は、紙詰まり、取り込みミスがないように「紙(神)」に祈るしかありません。 (^^ゞ
ですので、一気に100枚も連続で・・・・ではなく、小出しで印刷する事をオススメします。


>この際、両面印刷の出来るプリンタを使い、問題と解答を一気に両面印刷する場合
両面プリンタは使った事がないのでコメントは出来ませんが、やはりページ順で印刷すると思いますので、
1ページ目→問題、2ページ目→解答
とタイルそのものを切り替えて印字する事になりますので、通常の方法にては、難しいのではと思います。
このときも、やはり上記の問題が絡んでくるのではないでしょうか?

14237 Re:両面印刷とタックシール のび 2001/11/25-09:56
記事番号14228へのコメント
自己レスです。
早速のお答えありがとうございました。

学生に持たせるものなので、作るときは1部だけでなく、複数部を一気に作成、裁断し、配布までをこちらが行うことを考えると、
・初回配布時は8面全て同じにし、8部いっぺんに作成する
・追加配布時は2面のみ同じにし、2部いっぺんに作成する
とすれば、実用上問題はないと気づきました。
裏番号の件ですが、
・表番号が単独の通し番号でなく、大分類、小分類とその中での連番がある
・問題を途中に追加しなければいけないことが多い
といった理由で、ちょっと難しそうです。ありがとうございました。
14242 Re:両面印刷とタックシール pokopon 2001/11/25-16:43
記事番号14237へのコメント
>自己レスです。
>早速のお答えありがとうございました。
>学生に持たせるものなので、作るときは1部だけでなく、複数部を一気に作成、裁断し、配
>布までをこちらが行うことを考えると、

最初に言って欲しかったりして・・・・・ (^^ゞ


14244 Re:両面印刷とタックシール のび 2001/11/25-17:44
記事番号14242へのコメント
pokoponさん
>最初に言って欲しかったりして・・・・・ (^^ゞ
すみません。
最初に投稿したときはまとめて印刷するという概念が全くなかったもので・・・
でも、「学生に配布する」と書いておけば、私が後から気づいたアイデアと同じものを教えてもらえたか、
ひょっとすると書いている途中で気づいたかも・・・
14245 Re:???? pokopon 2001/11/25-18:15
記事番号14244へのコメント
>でも、「学生に配布する」と書いておけば、私が後から気づいたアイデアと同じものを教えてもらえた
>か、ひょっとすると書いている途中で気づいたかも・・・

ご自分の質問内容 No.14228 を良く確かめてみて下さい。皆さんがそう読み取れるかどうか?

14248 Re:両面印刷とタックシール 【多遊】 2001/11/25-21:30
記事番号14244へのコメント
のびさん。こんにちは
>でも、「学生に配布する」と書いておけば、私が後から気づいたアイデアと同じものを教えてもらえた
>か、ひょっとすると書いている途中で気づいたかも・・・

「私が後から気づいたアイデアと同じものを」こんなのは無理でしょう。

pokopon さんも、
>おそらく「タイル」を使っているのかと思いますが
と、かかれてますが、それに対しての、のびさんからのお答えが、書いてありません。
質問だけ読んで、推測でお答えをかかれてるだけですので、
もし違ってたら、もっと具体的な質問(説明)が、必要です。


ところで、私の案です。

条件があまりわかってない状態でのコメントで失礼です。
(実際の印刷はタックシールでの印刷か。両面プリンタを使用されてるか
また、マスターは片面だけ印刷して配布物はコピーを利用されるのか
最初からプリンターで両面印刷されてるか?等の意味)

まず、表面(Q1〜Q8)のデータを、印刷させます。
次に、裏面(A1〜A8)のデータを、印刷させます。

よく2枚を見て、ご確認ください
例。A1の場所とA2の場所が入れ替わってるとします。
これだけわかれば、AのほうのデータをA2・A1・A4・A3・・・
と持てばいいことになります。

表のデータの持ち方が、Q1の横にA1、Q2の横にA2がある場合は、
印刷の前に、上記の様なデータを持つ表を作成し、
レポートの対象にしては、いかがですか?


pokoponさん>
>ですので、[裏No]の項目に、項目計算式として
>  #COND(#MOD([No],2)=0,[No]-1,1,[No]+1)
>としておけば、[裏No]には裏用の順番が自動で計算されます。

#COND(#MOD([No],2)=0,[No]-1,1,[No])..かな?


別問題ですが、
>・問題を途中に追加しなければいけないことが多い
この「途中・・・」ということは、非常に難しいですね。
7と8の途中に追加された場合などまだ、問題が残りますね。


>この際、両面印刷の出来るプリンタを使い、問題と解答を一気に両面印刷する場合
>は、複合レポートというものを使えばいいのでしょうか?

※複合レポート(桐v8レポートp8より)
複合レポート・・・・・・・・・・・・・・・・・
レポート上に一覧表、伝票、タイルなどの複数オブジェクトを配置して1枚の用紙に印刷したものです。

と、記載されてますので、すこし違うかもしれません。

14251 Re:両面印刷とタックシール 【多遊】 2001/11/25-22:28
記事番号14248へのコメント
訂正・・・・
>pokoponさん>
>>ですので、[裏No]の項目に、項目計算式として
>>  #COND(#MOD([No],2)=0,[No]-1,1,[No]+1)
>>としておけば、[裏No]には裏用の順番が自動で計算されます。
>
>#COND(#MOD([No],2)=0,[No]-1,1,[No])..かな?

すみません。勘違いでした。pokoponさんの計算式でOKです。

14252 Re:フォローどうも pokopon 2001/11/25-23:30
記事番号14251へのコメント
【多遊】さん こんばんは

フォロー、有難うございました。

>>#COND(#MOD([No],2)=0,[No]-1,1,[No])..かな?
>すみません。勘違いでした。pokoponさんの計算式でOKです。
これは良いんですが、

>桐はDOS版の最初から使用しておりますが、Windows版はさわり始めたばかりです。
>DOS版の桐も、経歴が長いだけで、それほど詳しいわけではありません。

とありましたので、上記のスレッドのような回答としました。
印刷順に新規に表を作成し、そちらをタイルで印字・・・・なら、単なる連続印字となるわけですので、
両面印刷でも対応可能かと思っております。
後は、レコード順だけを考えればよい訳ですので。
その場合には、やはり「一括処理」が必要になる訳でして、
特に「途中に・・・・」がありましたので、その都度印刷用の「表」を作成してからとする必要があるかとも思いました。

ともかく、のびさんからの情報不足でした。
早合点もありましたね。 (^^ゞ お詫びいたします。


14272 Re:両面印刷とタックシール のび 2001/11/28-17:35
記事番号14248へのコメント
【多遊】さん
多遊さん始め、皆さまからのたくさんのコメントありがとうございます。

> pokopon さんも、
>>おそらく「タイル」を使っているのかと思いますが
>と、かかれてますが、それに対しての、のびさんからのお答えが、書いてありません。
ご賢察のとおり、タイルを使っております。

>ところで、私の案です。
(中略)
>別問題ですが、
>>・問題を途中に追加しなければいけないことが多い
>この「途中・・・」ということは、非常に難しいですね。
>7と8の途中に追加された場合などまだ、問題が残りますね。

今作ろうとしているのはPC関連の問題集です。
・まず専門用語を使わずに、AというPC用語を定義する
・AというPC用語を使って、Bを定義する
・AとBの総称としてCを定義する
というように、段階的に積み上げていきたいと思っているので、
どうしても問題を途中に追加することが多くなります。
その関係上、1ページ(=8問)を1レコードではなく、1問を1レコードにしなければなりません。
さらに、最終的には8面に切り離しての利用となるので、大分類が変わったら改頁といったこともありません。
なので、問題を追加・削除しても番号が自動的に変わるよう、
 EXCELでデータを作成→CSVに書き出し→桐で取り込み→プレビューを見ながらデータを訂正の繰り返しを行っています。
これで十分満足しています。

>>この際、両面印刷の出来るプリンタを使い、問題と解答を一気に両面印刷する場合
>>は、複合レポートというものを使えばいいのでしょうか?
>
>※複合レポート(桐v8レポートp8より)
>複合レポート・・・・・・・・・・・・・・・・・
>レポート上に一覧表、伝票、タイルなどの複数オブジェクトを配置して
>1枚の用紙に印刷したものです。
^^^^^^^^^

明細ページを2ページ作り、1ページ目を
Q1−1−1 Q1−1−1
Q1−1−2 Q1−1−2
Q1−1−3 Q1−1−3
Q1−2−1 Q1−2−1
2ページ目を
A1−1−1 A1−1−1
A1−1−2…
というようにして両面印刷が出来れば一気に2部出来ると思ったのですが、マニュアルを見ても
1枚の用紙とあるので無理そうですね。2度刷りですまそうと思います。
^^^^^^^^^
14278 Re:両面印刷とタックシール pokopon 2001/11/28-23:00
記事番号14272へのコメント
>明細ページを2ページ作り、1ページ目を
>Q1−1−1 Q1−1−1
>Q1−1−2 Q1−1−2
>Q1−1−3 Q1−1−3
>Q1−2−1 Q1−2−1
>2ページ目を
>A1−1−1 A1−1−1
>A1−1−2…
>というようにして両面印刷が出来れば一気に2部出来ると思ったのですが、マニュアルを見ても
>1枚の用紙とあるので無理そうですね。2度刷りですまそうと思います。
>^^^^^^^^^

いいえ、できます。また、その方法のヒントも既に示されています。

回答例:(いわゆる一つの)
>印刷順に新規に表を作成し、そちらをタイルで印字・・・・なら、単なる連続印字とな
>るわけですので、両面印刷でも対応可能かと思っております。
>その場合には、やはり「一括処理」が必要になる訳でして、
>特に「途中に・・・・」がありましたので、その都度印刷用の「表」を作成してからと
>する必要があるかとも思いました。

>1枚の用紙に
^^^^^^^^^
両面でも片面でも、印字順は連続です。1ページ分だけ作れば、解決します。
1枚目表・・・・P1
1枚目裏・・・・P2
2枚目表・・・・P3
2枚目裏・・・・P4
  |
  |
以下続く・・・・・。

一括処理で「1ページ分のQ」次「1ページ分のA」と「印字だけに必要な表」を新規作成して、それをもとに印字すればどう?

14280 Re:両面印刷とタックシール アックン 2001/11/29-15:01
記事番号14228へのコメント
のびさん、こんにちは。
私も両面印刷用のHP製プリンタを使っております。
このスレッド(ツリー)は途中を読んでないのですけど、
私の経験では、ponpokoさんが提案されている方法が確かだと思います。
(すみません、他の方の発言を読んでいません。)

レポート印刷専用の表を作成するだけの一括処理ですが、コピーして実行してみてください。
(以下の一括処理は両面印刷機専用です。)

タックは8分割としましたが、印刷したい数がそれより多くても少なくても、
表裏が対応するようにしましたから、任意の行だけ絞り込んでも印刷できます。

一括処理を実行すると、下記(b)のレポート印刷専用の表が作成されますから、
その表を開いて、項目[A]を昇順で並べ替えてから印刷してください。
(印刷プレビューで確認してください。)

・表定義
a) 20011129タック両面印刷_1.tbl
項目[A]    文字列(データ型)
項目[B]    文字列
項目[問題]  文字列
項目[答]    文字列

b) 20011129タック両面印刷_2.tbl (レポート印刷専用)
項目[A] 文字列
項目[B] 文字列

・レポート定義
タイル1:
オブジェクトの属性>対象表(タブ)>表ファイル名: 20011129タック両面印刷_2.tbl
その下の「表編集の状態を継承」: ON(チェックマーク入れる)
その右下の「表の操作」(ボタン)>並べ替え条件名: 並べ替え条件01

タイル(タブ)>データの流れ: 縦方向
繰り返し印刷数:1
分割数 横:2  縦:4

テキストオブジェクトのソース:[B] (←これを印刷します。)

・一括処理
***--------< Start >--------(C) akkun(=^・^=) ,2001-11-29 -------
/* タイル(8枚/頁)印刷用一括処理。表の[問題]、裏の[答]が対応するように別表に並べ替える。 */
var 整数{ &i[2] , &タイル枚数=8 }

表   "20011129タック両面印刷_1.tbl" , 表番号=1
表形式編集  /* ここで会話形式になるので、行追加・行削除・絞り込み・並べ替え等をおこなってください。 */
確認 "印刷用の表を作成しますか? ( Enter:はい / ESC:いいえ )" , &i[1]cond( .not&i[1] ) 終了

置換 [B]="1" /* 次行で行追加したレコードを後に削除するため、既存行を識別できるようにする。 */
項目集計 [A]
&i[2] = &タイル枚数-#MOD( &件数 , &タイル枚数 )
&時 = &タイル枚数-#MOD( &件数 , &タイル枚数 )
for &i[1]=1 , &i[2]
  行追加 終了状態=&秒 , [A]=""
  if( &秒<>1 )
    確認 "行追加エラーのため終了します。"
    終了
  end
end

表   "20011129タック両面印刷_2.tbl" , 表番号=2
行削除 * ,圧縮

編集表 1
置換 [A]=#str(#n,5)

編集表 2
読み込み条件登録 表,条件名="読込表01", \
         1,ファイル名変更=しない,{[A][A],[B][問題]},編集表=する
読み込み 表,条件名="読込表01"

編集表 1
置換 [A]=#str((#INT((#連番-1)/&タイル枚数)+1)*&タイル枚数,5) \
+"-"+#CASE(#MOD(#行番号,&タイル枚数)+1, \
"4","5","6","7","8","1","2","3" \
     )
/* 上記計算式は、行頭にスペースを書かないのが無難です。 */
/* レポート定義でタイル分割枚数を変更した場合には未対応でして(^^;、 */
/* 枝番の"4"〜"3"の部分を変更する必要があります。誰かこの部分を計算式にしてちょ。(^^; */

編集表 2
ジャンプ 行番号=最終
読み込み条件登録 表,条件名="読込表02", \
         1,ファイル名変更=しない,{[A][A],[B][答]},編集表=する
読み込み 表,条件名="読込表02"
並べ替え {[A]昇順}

編集表 1
絞り込み [B]{ "" }
行削除 *
絞り込み解除 1
置換 [A]="",[B]=""
絞り込み解除 1

終了
***--------< End >--------

アックン(=^・^=)


14281 Re:両面印刷とタックシール アックン 2001/11/29-15:12
記事番号14280へのコメント
pokoponさんでした。たいへん失礼しました。
ponpokoさんは別人です。(^^;これは実話です。

14282 Re:両面印刷とタックシール アックン 2001/11/29-15:16
記事番号14280へのコメント
>その右下の「表の操作」(ボタン)>並べ替え条件名: 並べ替え条件01
項目[A]を昇順としてください。
なお、並べ替え条件を設定してなくても、いっこうにかまいません。

14283 Re:両面印刷とタックシール アックン 2001/11/29-15:18
記事番号14282へのコメント
って、かまわないことはないか。(^^;ごめんね、実験してないんです。
14284 Re:両面印刷とタックシール アックン 2001/11/29-15:55
記事番号14282へのコメント
やっぱり設定しなきゃならないようですね。(^^;

タイル1のオブジェクトの属性>対象表(タブ)
表の操作を有効にする:ON
表の操作(ボタン)>並べ替え条件名: 並べ替え条件01

戻る