JCLEmuとは  (ジョブ管理のようなもの)
[ JCLEmu | 1NMATCH | MNMatch | ListEdit | ListEdit3 | Sort | Pickup | Summary | Break | Report | Asasikomi | EMaile | Doujyou | DGenerate | IMGGet | 機能一覧 | BlockSort | UserList | 図形ファインド | 複合検索 | 2007 | リンク集 | 掲示板 ]

1、始めに  
 1−2、バッチ処理パターン  
 1−3、プログラミング不要  
 1−4、パターンが無いとき  
2.名称  
3.概要   
 3−2.特徴  
 3−3.操作手順  
 3−4.要求される技量  
 3−5.短所  
4.インストール/アンインストール  
5.提供資源一覧  
6、シートイメージ  
7、注意  
8、オーバーライド指定
9、仕様  

  ●V1.1より、利用者(ユーザー)作成のマクロを呼出すことが可能になった。
1、始めに
JCLEmuはJCL(ジョブ・コントロール・ラングェッジ)+エミュレータ(相当機能)を表しています。
基本は、
 指定されたエクセルのシートを順番に「開き」
 そこのバッチ処理マクロを「実行」し、
 「閉じる」機能です。
これを、連続して行ないます。(シートに開きたいエクセルを、順番に入力するイメージ)→JCLシートへ
エクセルだけを用いて、「バッチ処理がどの程度こなせるか」と云うテーマから出発した、私なりの解答です。
「バッチ処理機能の基本形となる、幾つかの「ひな型」(下図の青色で表現)を順次組合せ実行することにより、
一つの仕事を行なう」、との考えに基づいて成り立っています。 →下図へ

↑先頭へ   ↓末尾へ
簡単な例で示すと、(出荷指示と在庫をマッチングし、在庫の更新と、出荷伝票の印刷をする。)
 エクセルシートが、4表あるものする。
  @、出荷指示データ 「Sheet1」  既存
  A、在庫データ    「Sheet2」  既存
  B、作業用シート  「WKSheet3」 一時的に用意する
  C、出荷伝票    「Sheet4」   既存(伝票1頁分)
 手順
  1、@とAを商品コードでマッチングし、在庫引当てを行ない、B「WKSheet3」へ出力する。(自動)
  2、B「WKSheet3」を開き、手操作で、引当て数の確定(修正)(セルへ直接入力)をする。(手動)
  3、B「WKSheet3」から、A在庫データ「Sheet2」を再作成し、新在庫数を更新する。 (自動)
  4、B「WKSheet3」から、C出荷伝票「Sheet4」に、出荷確定データを差し込み印刷する。 (自動)
ここで、手順1,3,4は「自動」となっているが、どうするのでしょうか?

手順1では
 マッチングのマクロを「WKSheet3」に記述するのか?
  → いえ違います。
 マッチング処理をする、エクセルシート「KT1NMATCH」【注1】が用意されています。
 でも、「Sheet1」や「Sheet2」のレイアウトは千差万別なのに、出来るのですか?
  → はい出来ます。
「Sheet1」と「Sheet2」のレイアウトの定義と、マッチングキーの情報、マッチ、アンマッチ時の出力情報等を、「KT1NMATCH」にパラメタ(機能シートの固定位置に、項目情報等を、行と列で指定)として与えてやります。
 マッチングの処理が2回必要な時は、「KT1NMATCH」を別名で作成するのですか?
  → いいえ。
 そこで、「KT1NMATCH」のパラメタ部分のみを、別名のシート(「パラメタ1」等)に保存し、実行時に、読み込む機能を持っています。
 2回目のマッチングパラメタは、又、別名のシート(「パラメタ2」等)に保存して下さい。

手順3でも同様に
 「KTListEdit」【注1】入力シートから、出力シートへ、レコード単位に出力する機能が、用意されています。

手順4でも同様に
 「KTReport」【注1】入力シートから、印刷シートへ、キーブレーク毎に、差込印刷する機能が、用意されています。

手順2は、手操作となっているが?
  → はいその通りです。
 「JCLEmu」で通常のエクセルを指定した場合は、実行中断状態になります。
 手順1が終了し、手順2で「WKSheet3」が開かれ、エクセルの画面が表示された状態で、止まる。
 (指定によっては、開く前に停止も可能、この時は操作員に開くことを求めます。)
 今、「WKSheet3」のレイアウトが、在庫データ「Sheet2」の後ろに、「Sheet1」の出荷指示数を追加し、
 更に、その後ろに、新在庫数、計算式(=在庫数−出荷指示数)を付けた、ものとした場合。
 開かれているシートを、目視により
 「マッチングの結果が思わしくない商品や、新在庫数が負のものを、探し出し、
 出荷指示数の部分を、直接、手修正する。」ことを想定しています。
 この後、「WKSheet3」を閉じ、手順3から、継続実行の指示をすることになります。

【注1】:提供書庫名を示しています。実際の機能エクセルブック名は下記参照。→機能エクセル名へ

この手順を「JCLEmu」に、これも又、JCLパラメタとして指定します。
 指定したパラメタは、別シートに保存し、必要な時に呼出、実行することが可能です。
 即ち、JCLをカタログ化しておく機能があります。ジョブの数だけ作成しておけば、定常業務の効率化に繋がります。

その他の機能としては、
 1、実行ジョブのロギング(作業記録)が採取される。
 2、バッチ処理機能を持たない、普通のエクセルを開く時、自動OPENマクロを実行させる機能を持つ。
 3、JCLの一部を実行することが可能。

1−2、バッチ処理パターン
バッチ処理機能のひな型は、幾つ用意されているのか?
a@機能エクセル名 機能説明         提供書庫名
1、JCLエミュレータ.xls JCLエミュレータ(下記xlsを制御)KTJCLEmu  
2、マッチング.xls 1:nのマッチング処理を行う KT1NMATCH 
3、MNマッチング.xls m:nのマッチング処理を行う KTMNMatch 
4、リスト形式に変換.xls 伝票形式から、リスト形式に変換 KTListEdit
5、リスト形式に変換3.xls表形式から、リスト形式に変換 KTListEdit3
6、バッチソート.xls ソート、及び単純抽出処理   KTSort  
7、抽出ソート.xls  同上 抽出・読飛条件(From〜To)KTPickup
8、サマリー.xls  複数のキーで集計レコード を出力する KTSummary
9、ブレーク.xls     サマリとほぼ同等(ソートしない)KTBreak
10、汎用差込機能.xls   一品一葉印刷          KTASasikomi
10、葉書差込機能.xls   一品一葉印刷(葉書等に特化)  〃    
11、伝票型印刷.xls    伝票型(応用用紙)印刷     KTReport 
12、Eメール送信.xls   Eメールを住所録等から一括送信 KTEMail  
13、同上変換.xls     同上表現に変換、又はその逆に戻すKTDoujyou
14、データ生成.xls    指定シートに、データを自動で作成KTDGenerate
15、イメージ取込.xls【注3】   指定シートに、画像(イメージ)を取込KTIMGGet

1−3、プログラミング不要
 ひな型とあるが、プログラムを作る必要があるのか?
 プログラムに相当する、パラメタを指定して頂きます。
 各ひな型により指定するパラメタは異なりますが、概ね次のようなものです。
 1、入力シート名とレコードの構成。
 2、出力シート名とレコードの構成。
 3、編集項目の指定。(入力項目の行・列と出力項目の行・列) 【注2】
 4、キー項目や読み飛ばし条件の指定。(項目を行・列で指定、条件値の入力)
 殆どが、数値の入力です、又、対話型による指定も可能となっているので
 予備知識は必要ありません。
 【注2】編集指定時に、直接演算式は指定できません、作成するシートに予め計算式等設定の必要もある。
 JCLEmu に付いては、エクセルのブック名(ファイル)を指定するのみ。

1−4、パターンが無いとき
 これ以外のパターンが出てきた場合はどうすればよいか?
 とにかく、このパターン内で解決する手順を模索して下さい。
 又、問題解決の為には、シート内に、そこそこの、関数等を使用する必要があると思われます。(上記手順2の様に)
 マクロを作成出来るかたは、オープン時、マクロ実行機能を動作させることができるので、
 自作のエクセルシートをご活用下さい。

2.ソフト名称
  「エクセルでバッチ処理」

3.ソフト概要
  1.機能
    汎用機等で云うところの、JCL(ジョブ制御言語)の真似です。
    自シートに、入・出力対象となるエクセルシート名と、
    プログラムに相当する、実行用(バッチ処理機能を持つ)エクセルを指定し、
    実行ボタンを押すと、
    各シートに対して、バッチ(入出力)処理が実行される。
    (一般のエクセルを指定した場合は、順番に「開いて」いくだけ。)
    (この時、Auto_Openマクロ実行指定可能。)
  【実行用エクセルとは】
   セルに記述する、    「関数」に対比させるなら、
   シートに対して記述する、「処理関数」といえる。(上記1−2参照) →1−2バッチ処理パターンへ
   パラメタをシートに指定し、マクロがそれを解析実行する方式です。
   例、VLOOKUPに「1:nマッチング」が対応か?
  2.特長
    1.マクロ、関数、DOSバッチファイルは一切不要。
     (エクセルだけでバッチ処理が出来る。)
    2.ジョブロギング機能。
    3.実行時、入出力シート置換(オーバーライド)機能。
    4.JCLパラメタの保存、読込が可能。(カタログ化)機能あり。
  3.使用者のスキル(要求される、技量度)
    1.マクロを含むブックを開くことができること。
    2.バッチ処理思考が、できること。
    3.関数、マクロの達人はご遠慮下さい。
  4.操作手順
    1.事前に、入・出力の対象となる、ブックとシートを作成する。(バックアップも)
    2.事前に、個々の、バッチ処理機能エクセル用のパラメタを作成する。
      (バッチ処理プログラムの作成に相当する。)
    3.「JCLエミュレータ.xls」 ブックを開く。
    4.パラメタの指定をする。(JCLの作成)
     1.入力シート置換情報と、
     2.出力シート置換情報と、
     3.個々のバッチ処理機能と、それ用のパラメタ(上記4−2で作成分。)
    5.パラメタのチェックを行なう。
    6.パラメタの保存を行なう。
    7.ジョブの実行を行なう。
  5.制限・短所等
    1.処理速度が遅い。
    2.バッチ処理機能を持つエクセルの、事前ダウンロードが必要
    3.同上エクセルの為のパラメタ作成(プログラムに相当)が必要。
    4.バッチ処理パターンが少ない。
    5.利用者作成のマクロを呼出す場合は、引数の数等に制限があります。(詳しくは、添付の手引書参照)

4.インストール/アンインストール(インストーラは有りません。) ダウンロードサイトへ
  1.下記、"KTJCLEmu.EXE"(自己解凍形式) をダウンロードする。
  2.ウィルスチェックを行う。
  3.上記、EXEをダブルクリックすると、解凍される。
  (特に指定しなければ、ダウンロードしたフォルダに"KTJCLEmu"フォルダが解凍される。)
  4.不要になれば、「エクスプローラ」で削除する。
  5.必要な機能のバッチ処理エクセル(上記1−2)を、別途インストールする。 →1−2バッチ処理パターンへ
  6.例題を使う場合の環境作成は、使用手引書を参照して下さい。
5.提供資源一覧。
a@説明                 提供書庫名
1、「エクセルでバッチ処理」のアーカイブ(書庫)自己解凍形式KTJCLEmu.EXE
 2.その中身。
a@種別   エンティティ名    説明
1.テキスト  利用者向け説明書.txt 利用者向け説明書   
2.ブック   JCLエミュレータ.xlsパラメタ指定と実行機能  これが、主役です。
3.ブック   使用手引書_JCLエミュレータ.xls 使用手引き書、4シート
4.フォルダ  例題         例題用    
5.フォルダ  データ         例題用の入出力シート 
6.フォルダ  パラメタ 例題用のパラメタ

6、シートイメージ
図、 エクセルでバッチ処理 シートイメージ
JCLシート(JCL用) OVRシート(実行時補助用) LOGシート(処理結果用)

7、注意事項
 ・JCLエミュレータ自体を、非表示として使用することは、出来ません。
 ・時刻起動や、インターバル処理は出来ません。
 ・JCL中の条件分岐は出来ません。
 ・動作環境は恵まれた状態で使用して下さい。(具体値は示せない。)
 ・お客様のエクセルの表示が「R1C1」方式に変ってしまう場合があります。
 ・このシステムを使用したことによる結果に対しては、一切補償は出来ません。
  お客様の責任でご使用下さい。(データは必ずバックアップを行なって下さい。)
8、オーバーライドの例
  データ生成機能の追加により、オーバーライド指定に複雑な要素が入り込みました。
  実例で示します。(汎用差込機能も合せて)
図、オーバーライドの例
オーバーライドの例 拡大へ
 【注3】イメージ取込の、オーバーライド指定について。
  入力側のオーバーライド機能は使えません。

  (理由)入力側がフォルダ、又はファイル指定までで、シートの指定が必要ないから。
9、仕様
書庫名KTJCLEmu
バージョンVer1.1
最終更新日2007/05/31
容量0.8 M(解凍時=1.9 M)
対応OS
必須環境
Windows95/2000/XP
(検証済み)
(メモリーは多めに)
転載可能
ダウンロード Vector ダウンロードサイトへ