数字要素の抽出で教えてください。No.25062
スーパーT さん 08/06/20 03:04
 
いつもお世話になります。

a,1,b,1,3,5,c
a,2,b,6,10,c
a,3,b,2,20,c
 ・
a,999,b,3,4,c

aとbの間の数字はタイトルです。
1つの数字が入ります。
bとcの間の数字は項目(要素)になります。
1つ以上の数字が入ります。(多くても100個くらいです)
abcは意味がなく区切り上、一時付けてあります。


マクロを実行して
要素として抜き出したいのですが良い方法はないでしょうか?

1,1
1,3
1,5
2,6
2,10
3,2
3,20
 ・
999,3
999,4

よろしくお願いいたします。


[ ]
RE:25062 数字要素の抽出で教えてくださいNo.25065
秀丸担当 さん 08/06/20 10:30
 

キー操作の記録をしたのもを少し直しただけですが、以下のような感じになりま
した。

 setcompatiblemode 0x0F;
 gofiletop;
 while(1){
  wordright;
  beginsel;
  wordleft;
  delete;
  wordright;
  left;
  beginsel;
  wordleft;
  copy;
  wordright;
  wordright;
  beginsel;
  golinetop;
  delete;
  golineend;
  beginsel;
  wordleft;
  left;
  delete;
  golinetop;
  while(1){
   paste;
   insert ",";
   wordright;
   if(column>=linelen2)break;
   backspace;
   insertreturn;
  }
  right;
  if(lineno>=linecount2)break;
 }


[マクロ]→[キー操作の記録開始/終了]で記録して、ひとまとまりの操作をして
記録終了し、[マクロ]→[キー操作の保存]でマクロファイルとして保存すること
ができます。

多くのことは記録と再生だけでできますが、もし繰り返しや条件が必要な場合は、
保存したマクロを書き換えれば1からマクロを作るよりかは比較的簡単にできま
す。
もし上記マクロでうまくいかなかった場合はキー操作の記録と保存を使ってやる
と、自分なりの方法でできるようになるのではないかと思います。

[ ]
RE:25065 数字要素の抽出で教えてくださいNo.25068
スーパーT さん 08/06/20 14:40
 
いつもありがとうございます。

>[キー操作の記録開始/終了][キー操作の保存]

が分からずにずいぶん苦労いたしました。

マクロに登録して実行したら
イッパツで解決できました。

ありがとうございます。
今後ともよろしくお願いいたします。


[ ]
RE:25068 数字要素の抽出で教えてくださいNo.25069
秀丸担当 さん 08/06/20 15:01
 

>>[キー操作の記録開始/終了][キー操作の保存]
>
>が分からずにずいぶん苦労いたしました。

「キー操作の記録開始/終了」は、記録開始してから終了するまでの操作を覚え、
「キー操作の再生」で同じ操作を繰り返すものです。

例えば、
・キー操作の記録開始(標準でShift+F1)
・a と入力
・←を入力
・↓を入力
・キー操作の記録終了(標準でShift+F1)

としておいて、次からは、キー操作の再生(標準でShift+F2)をするだけで、記録
した操作を繰り返します。

キー操作の保存をすると、この操作がマクロになります。

 setcompatiblemode 0x0F;
 insert "a";
 left;
 down;

というマクロができます。
最初のコメントで示したマクロも、こうやって勝手にできたものに、後から
while文などを付けただけです。

[ ]