SuperPIPS と同じ仕様にするのは可能ですが面倒なので、勝手に仕様を決めさ せて頂きました。 その1 変換(修正)の対象文字列を1つだけにする。元の文字列と新しい文字 列を「対」にして指定する訳ですが、1組だけ指定できるようにしました。 その1 対象の列を1列だけ指定するようにしました。 その3 該当する文字列が見つかったときの選択肢は、[スキップ],[変換処理], [修正],[一括処理] です。[削除] はカットしました。 その4 処理対象は「表形式」のみとしました。自由形式だと別の手法が必要な ためです。 基本的な処理システムが出来ていますので、上の1〜3については仕様の追加が可能です。考えて見てください。 <プログラムの説明>(プログラム「CU」はプログラム集に登録してあります) 15〜27行で処理対象の指定を求めます。バインダーの1頁が指定された場合は、指令‘G’を使って指定頁を画面に呼び出します。バインダー全体が対象のときはとりあえずその1頁目を画面に呼び出します。 28行目で処理対象が表形式かどうかをチェックしています。 変換対象の文字列(29行目)、新しい文字列(32行目)、対象の列(34行目)と処理区分(逐次変換か一括変換か・・・・37行目)の指定を求めます。 実行プログラムは画面の表を対象にしているので、「対象指定」が画面か単頁の場合は即実行、バインダー全体の場合は1頁ずつ呼び出して処理します。 58行目からが実質的な処理の部分です。 H行からT行まで指定列について、変換対象の文字列があるかどうかをチェックします。あればそのセルをリバースにして(64行目)、どう処理するかを聞いてきます(65行目)。 「スキップ」なら何もしないで次の文字列の検索へ、「変換処理」なら新しい文字列に書き換えます。「修正」の場合は指令‘W’でデータの書き換えが自由に出来ます。(他の列でも書き換えできますし、プルダウン機能を使えば行の削除でも可能ですが行番号が狂ってくるのでエラーが出るでしょう)[ESC] キーを押すとプログラムに戻ります。 指令‘COL’を使うため動きはやや鈍いのですが、手操作を交えるのですから我慢してください。 まだチェックの甘い所がいくつもありますが、常識的な使い方をする分には問題ないと思います。 こんな所で如何でしょうか? |