過去の桐井戸端BBS (桐ver.8)
23224 項目置換ではなく表置換がしたい(全ての項目に対して一発で表全体の置換をしたい) しぶ 2003/11/06-15:17
初めて投稿します。ほぼ初心者です。
桐V8を使用しています。(Win98)

置換に「項目置換」がありますが、「表置換」なるものはないのでしょうか?
全ての項目に対して条件式を連結させるのではなく、一発で表全体の置換をしたいのです。

例えば表全体の項目を見て、半角カンマを全て全角カンマにするのに、
一番簡単で手早い置換方法はないでしょうか? Excelの置き換えだと普通に出来るのですが。

どなたかお力添えをお願いします! 

23229 Re:項目置換ではなく表置換がしたいのですが 幅田 2003/11/06-19:01
記事番号23224へのコメント
しぶさん
こんにちは。


>例えば表全体の項目を見て、半角カンマを全て全角カンマにするのに、一番簡単で
>手早い置換方法はないでしょうか? Excelの置き換えだと普通に出来るので

表置換というのは、桐にはありません。
置換はあくまで、その項目(列)に対して行います。
こんなことぐらいで一括処理使わなくちゃできないのかなどと言われそうですが、
汎用的に使えて、一発でやりたいのなら、
下記のような一括処理ではいかがですか?

その表を開いたまま、
一括処理の新規作成をして、下記をそのままコピー&貼り付けをして実行してみて下さい。

開いた表に対して、置換を行います。
ただし、文字列型以外の項目は飛ばすように作ってあります。

もっと、効率のよい一括処理が書けるかもしれませんが、
即興的に思いついたのではこうなりました。
(下記の文中、カンマは4行目の最後のカンマのみ全角で、残りは半角です。)

****

繰り返し &分=1,#項目数
 条件 (#項目属性(&分,2)="文字列") \
    &STR="置換 ["+#項目属性(&分,1)+"]=\
      #文字置換(["+#項目属性(&分,1)+"],"","","","")"
 コマンド &STR
繰り返し終了

****

23230 Re:項目置換ではなく表置換がしたいのですが 宮城 2003/11/06-19:37
記事番号23224へのコメント
しぶさん、こんにちは。

>例えば表全体の項目を見て、半角カンマを全て全角カンマにするのに、一番簡単で
>手早い置換方法はないでしょうか? Excelの置き換えだと普通に出来るので
>すが。

数値・文字等各タイプのデータが混在してるのが普通ですし、
半角カンマをすべて全角に置換したいというのは極めて特殊なニーズというべきでしょうから、
桐が対応してなくてもしかたないんじゃないでしょうか。

さて、Excelに書き出して、全角カンマに置き換え後、読み戻すというのはいかがでしょうか。

ただし、半角カンマはセパレータにつき、悪夢的結果に終わる可能性もあり、
お試しは充分リスクを理解したうえでお願いします。(^_^;;

23231 Re:項目置換ではなく表置換がしたいのですが うにん 2003/11/06-19:48
記事番号23230へのコメント
>ただし、半角カンマはセパレータにつき、悪夢的結果に終わる可能性もあり、

桐からはタブ区切りでテキストに書き出せば安全でしょう。
エディタで置換する方がいいかな?

23232 Re:項目置換ではなく表置換がしたいのですが うにん 2003/11/06-19:56
記事番号23229へのコメント

>もっと、効率のよい一括処理が書けるかもしれませんが、

ひとつの置換コマンドで終わるようにすれば多少は速いかも。

&STR="置換 "
繰り返し &分=1,#項目数
 条件 (#項目属性(&分,2)="文字列") \
    &STR=&STR+"["+#項目属性(&分,1)+"]=#文字置換(["+#項目属性(&分,1)+"],"","","",""),"
繰り返し終了
条件 (&STR<>"置換 ") コマンド &STR

23249 Re:項目置換ではなく表置換がしたいのですが しぶ 2003/11/07-18:14
記事番号23231へのコメント
幅田さん、うにんさん、宮城さん、早々とご回答ありがとうございました。
一括処理自体あまり活用したことがないので、まずそこからやってみます。
また是非相談にのってください!

戻る