回答箱 No.108-1: 一太郎の差込印刷でPIPSのデータを利用したい

    ◆ 質問箱 No.108  質問者: 元山 よし子  2000年04月 219号 P.16
       ◆ 質問箱 目次へ
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等を使う)
1A(株)サイエンス1B経理1C元山  よし子  様
2A希望商会2B総務部2C秋山  智恵子  様
3Aメディア(株)3B電子情報部3C井上  恵子  様

(C)たてに並べる(CA/CF/APD等を使う)
1A(株)サイエンス
2A希望商会
3Aメディア(株)
1B経理
2B総務部
3B電子情報部
1C元山  よし子  様
2C秋山  智恵子  様
3C井上  恵子  様

(D)SORTする(SORT/DC等を使う)
1A(株)サイエンス
1B経理
1C元山  よし子  様
2A希望商会
2B総務部
2C秋山  智恵子  様
3Aメディア(株)
3B電子情報部
3C井上  恵子  様

 あまりスマートとは言えないやり方です。参考までに縦に並べ替えるオートプログラムも試作してみました。とりあえずのプログラムですので、元山さんの希望する縦列に並ぶことしか確認していません。あまりプログラムの書き方の拙さを指摘しないようにお願いします ^ ^;

<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;


このページのTOPへ戻る