過去の桐井戸端BBS (桐ver.8)
25755 横に4項目あるデータを縦に1項目に書き出したい サワデー 2004/04/02-23:26
サワデーと申します。
このホームページはいつも拝見しています。
ウインドウズXPホーム、桐Ver8sp6です。

簡単な事かもしれませんが、どうしてもできませんので皆様のお知恵をお貸し下さい。
表のデータで、複数ある項目の中から、別の表に1項目にデータを書き出したいのですが、
一括処理で行うことになると思いますが、いろいろ試しましたが、うまくいきません。
よろしくお願いします。

A.tbl
[***][***][AA][BB][CC][DD][***][***]
 ***  ***  AB  CD  EF  GH  ***  ***
 ***  ***  IJ  KL  MN  OP  ***  ***
 .
 . 以下複数データ有り

このようなデータがあったとします。
それを下のように書き出したいのです。

B.tbl
[データ]
 AB
 CD
 EF
 GH
 IJ
 KL
 MN
 OP
 ..
 ..

よろしくお願いします。
25759 Re:横に4項目あるデータを縦に1項目に書き出したい 吉川 2004/04/03-03:19
記事番号25755へのコメント
サワデーさん こんにちわ。

やりたい事を、1ステップづつイメージし、言葉で表現する。
次にそれをどんなコマンドを使って桐に指示するかを考える。
次いで一括処理を書いてみる。それをステップ実行してみる。
カーソルがA.tblの1行目、[AA]に飛んだ。
&データにABが格納された。
編集表がB.tblに切り替わった。1行目にABが書き込まれた。
カーソルがA.tblの[BB]に飛んだ。......感動ものですよ。

>A.tbl
>[***][***][AA][BB][CC][DD][***][***]
> ***  ***  AB  CD  EF  GH  ***  ***
> ***  ***  IJ  KL  MN  OP  ***  ***
> .
> . 以下複数データ有り
>
>このようなデータがあったとします。
>それを下のように書き出したいのです。
>
>B.tbl
>[データ]
> AB
> CD
> EF
> GH
> IJ
> KL
> MN
> OP

変数宣言 文字列{&データ}
編集表 "A"
ジャンプ 行番号=先頭
繰り返し (.not #終端行)
   &データ=[AA]
 編集表 "B"
   行追加 [データ]=&データ
 編集表 "A"
  &データ=[BB]
 編集表 "B"
   行追加 [データ]=&データ
 編集表 "A"
  &データ=[CC]
 編集表 "B"
   行追加 [データ]=&データ
 編集表 "A"
  &データ=[DD]
 編集表 "B"
   行追加 [データ]=&データ
 編集表 "A"
   ジャンプ 行番号=次行
繰り返し終了

これは基本形。項目値を項目番号で取得し、繰り返しで
もっとスマートに書くなどは次のステップ。
25761 Re:横に4項目あるデータを縦に1項目に書き出したい たぎゃ 2004/04/03-08:55
記事番号25755へのコメント
私なら、何度も使用する場合は一括処理を作成しますが、
今回しか行わないなら、一度テキストに書き出してから、
区切りの文字を置換して、読み込みなおします。

1.区切り文字を*としてテキスト書き出し
    AB*CD*EF*GH
    IJ*KL*MN*OP

2.エディタなどで*を改行に置換

3.以下のようになったデータを表に読み込む
    AB
    CD
    EF
    GH
    IJ
    KL
    MN
    OP


25762 Re:横に4項目あるデータを縦に1項目に書き出したい サワデー 2004/04/03-10:07
記事番号25755へのコメント
吉川さん、たぎゃさん説明ありがとうございます。
吉川さんの一括処理でうまくいきました。
ただ、始め「編集対象表がありません」とエラーが出ました。
変数宣言の後に表コマンドを挿入したら、うまく実行できました。

ありがとうございました。

戻る