No.108-1 |
一太郎の差込印刷でPIPSのデータを利用したい |
回答者 柏木 秀一 |
2000年05月 220号 P.12 |
◆ No.108(2000年 04月号)の回答-1
元山さんの質問を読んで以下の三つを考えてみました。
(1)一太郎で差込印刷をしたい。
私も一太郎はバージョン2から使用していましたが昨年、世の中の流れに抗しきれず、とうとうWORDを使い始めました。たしか一太郎でテキストデータを読み込むときに2通りの方法があり、その一つが元山さんの質問箱にあるようにデータを縦に並べた形にすることが条件だったと思います。しかしそれは10年位前のことです。一太郎もEXCELやCSVファイルを差込印刷のデータとして扱えるようになっていないか、調べてみてはどうでしょうか?
(2)一太郎にこだわらない
私がロンドンに勤務していたときに私のアシスタントの女性がWORDで文章を作成し、EXCELのデータを利用して差込印刷をしていました。簡単な差込印刷だと10〜15分程度で処理していましたので、それほど難しい作業ではなさそうです。PIPSからEXCELにはCSVファイルを通してコンバートします。もし、WORD/EXCELが利用できる環境でしたら検討する価値はあると思います。
(3)やはり一太郎で差込印刷をしたい
いまだに一太郎がテキストデータを縦に並んだ形でしか受取れない、WORD/EXCELは使える環境にない、となるとPIPS側でデータを縦に並んだ形に整える必要があります。
下記のような方法を使えばデータを縦に並べ替えることができます。
(A)元データ | | |
(株)サイエンス | 経理 | 元山 よし子 |
希望商会 | 総務部 | 秋山 智恵子 |
メディア(株) | 電子情報部 | 井上 恵子 |
(B)番号をふり、名前に様をつける(IC/NF/NUM/FILL等を使う) |
1 | A | (株)サイエンス | 1 | B | 経理 | 1 | C | 元山 よし子 様 |
2 | A | 希望商会 | 2 | B | 総務部 | 2 | C | 秋山 智恵子 様 |
3 | A | メディア(株) | 3 | B | 電子情報部 | 3 | C | 井上 恵子 様 |
(C)たてに並べる(CA/CF/APD等を使う) |
1 | A | (株)サイエンス |
|
2 | A | 希望商会 |
|
3 | A | メディア(株) |
|
1 | B | 経理 |
|
2 | B | 総務部 |
|
3 | B | 電子情報部 |
|
1 | C | 元山 よし子 様 |
|
2 | C | 秋山 智恵子 様 |
|
3 | C | 井上 恵子 様 |
|
(D)SORTする(SORT/DC等を使う) |
1 | A | (株)サイエンス |
|
1 | B | 経理 |
|
1 | C | 元山 よし子 様 |
|
2 | A | 希望商会 | |
2 | B | 総務部 |
|
2 | C | 秋山 智恵子 様 |
|
3 | A | メディア(株) |
|
3 | B | 電子情報部 |
|
3 | C | 井上 恵子 様 |
|
あまりスマートとは言えないやり方です。参考までに縦に並べ替えるオートプログラムも試作してみました。とりあえずのプログラムですので、元山さんの希望する縦列に並ぶことしか確認していません。あまりプログラムの書き方の拙さを指摘しないようにお願いします ^ ^;
<SAMPLEAUTO>
$SET_HENSU:
LET V11 = DEV$; /* CURRENT 装置名 */
LET V12 = CABINET$; /* CURRENT キャビネット名 */
LET V13 = "LIST"; /* 元データのあるバインダ名 3列を想定 */
LET V14 = "CONVERTED DATA"; /* 加工後のデータを保存するバインダ */
LET V15 = "TMP1"; /* 作業用バインダ名 */
LET V16 = "TMP2"; /* 作業用バインダ名 */
LET V17 = "TMP3"; /* 作業用バインダ名 */
LET V18 = "TMP4"; /* 作業用バインダ名 */
$SHORI:
GOSUB BINDER_CHECK:
IC/P; %V11/%V12:%V13;%V11/%V12:%V18;N;3;:Y;
FILL/P; %V11/%V12:%V18:%V11/%V12:%V18; 様;A;T;Y;Y;
NF/P; %V11/%V12:%V18;%V11/%V12:%V18;J:3,4;Y;
CF/P; %V11/%V12:%V18;%V11/%V12:%V18;1/2/3;30;Y;
lC/P; %V11/%V12:%V18;%V11/%V12:%V18=1/2/3;5*2;C1;A;C2;B;C3;B;Y;
NUM; %V11/%V12:%V18;C;1;;;;
MPU; %V11/%V12:%V18:;C1>0;C1=C4:C1=C7:"A"=C2:"B"=C5:"C"=C8;E;Y;
CA; %V11/%V12:%V18;;1,3;;%V11/%V12:%V15;
CA; %V11/%V12:%V18;;4,6;;%V11/%V12:%V16;
APD/N; %V11/%V12:%V16;%V11/%V12:%V15;Y;
CA; %V11/%V{2:%V18;;7,9;;%V11/%V12:%V17:
APD/N; %V11/%V12:%V17;%V11/%V12:%V15;Y;
SORT; %V11/%V12:%V15;1;A/N;2;A;;%V11/%V12:%V15;
CJ/P; %V11/%V12:%V15;%V11/%V12:%V15;P;L;A;3;Y;
DC/P; %V11/%V12:%V15:%V11/%V12:%V14;1,2;Y;Y;
$END:
GOSUB BINDER_CHECK;
STOP;
<BINDER_CHECK>
$BlNDER_CHECK:
FOR X11 = 15 TO 18;
LET V21 = V%X11;
LET X12 = NAME(3,V21);
lF X12 = 0 THEN GOTO $NXT1;
BlND;D;%V11/%V12:%V21;Y;
$NXT1: NEXT;
RETURN;
□
|
|
|