(現在 過去ログ85 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■12663 / inTopicNo.1)  文字数を合わせる
  
□投稿者/ 石井善幸 -(2020/10/22(Thu) 15:37:24)
    桐10S
    Windows10 です。

    項目内の文字数をあわせたいのですが!

       [商品名]   [メーカー]
    1行目 ABCDEF あいう
    2行目 GH     かきくけこ
    ・・・・・・・・・・・・・・・・

    上記のように[商品名]は6文字
    [メーカー]は5文字
    というように最大文字数になるように
    空白文字で文字数をあわせたいのですが、、、

    どうすれば可能でしょうか?
    よろしくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■12664 / inTopicNo.2)  Re[1]: 文字数を合わせる
□投稿者/ ONnoji -(2020/10/22(Thu) 17:04:34)
    2020/10/22(Thu) 17:14:19 編集(投稿者)

    > 上記のように[商品名]は6文字
    > [メーカー]は5文字
    > というように最大文字数になるように
    > 空白文字で文字数をあわせたいのですが、、、

    表( .tbx )の入力値に余計な空白文字が付加されていると超不便ですよねぇ〜。

    だから、普通はそんなことはしないと思いますが??

    ひょとして、表( .tbx )のデータをテキストファイル等に出力して外部のソフトに渡す際の処理で必要なのでしょうか?

    空白文字には、全角の空白文字と半角の空白文字がありますけど、どちらがご希望なのでしょうか?



引用返信 [メール受信/OFF] 削除キー/
■12665 / inTopicNo.3)  Re[2]: 文字数を合わせる
□投稿者/ 石井善幸 -(2020/10/22(Thu) 17:48:12)
    ONnojiさん
    ありがとうございます。


    半角の空白文字をいれたいのです。

    よろしくお願いします。

引用返信 [メール受信/OFF] 削除キー/
■12668 / inTopicNo.4)  Re[3]: 文字数を合わせる
□投稿者/ 悲しげ -(2020/10/22(Thu) 18:24:46)
    2020/10/22(Thu) 19:24:50 編集(投稿者)
    2020/10/22(Thu) 19:24:03 編集(投稿者)

    No12665に返信(石井善幸さんの記事)

    半角空白で補うのならズバリ「#部分列」関数そのものですから(f.ヘルプ-関数一覧)
     #部分列([商品名],6)
     #部分列([メーカー],5)
    となるのですが、気になるのは元データが、もし全角(混在?)で構成されているの
    ならば、桁数(見た目の右端)が揃わなくて美しくないような・・・

    仮に固定長出力とかで、全角5文字相当(即ち半角10桁)で右揃えしたいのなら、
    次のような方法も。
     #部分列([商品名],-12)
     #部分列([メーカー],-10)

    ※ありゃ、割り込みになってしまった(^^;)

    -------------------------------------------
    誤 #部分列([商品名],-12)
      #部分列([メーカー],-10)
    正 #部分列([商品名],1,-12)
      #部分列([メーカー],1,-10)

    No12669の指摘を受けて訂正しました。(^^;)
    (何やってんだか → 自分)


引用返信 [メール受信/OFF] 削除キー/
■12671 / inTopicNo.5)  Re[2]: 文字数を合わせる
□投稿者/ 石井善幸 -(2020/10/22(Thu) 20:32:42)
    ONnojiさん

    > ひょとして、表( .tbx )のデータをテキストファイル等に出力して外部のソフトに渡す際の処理で必要なのでしょうか?

    ★そうなんです・
    表データを出力して外部のソフトに渡したいのです。

    よろしくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■12672 / inTopicNo.6)  Re[3]: 文字数を合わせる
□投稿者/ ONnoji -(2020/10/22(Thu) 20:49:22)
    2020/10/22(Thu) 21:19:38 編集(投稿者)

    >>ひょとして、表( .tbx )のデータをテキストファイル等に出力して外部のソフトに渡す際の処理で必要なのでしょうか?
    >
    > ★そうなんです・
    > 表データを出力して外部のソフトに渡したいのです。

    だろうと思いましたよ。(^^ゞ

    すでに、北の大地から悲しげ氏が回答済みですよ。

    こちら
     ↓
    > 仮に固定長出力とかで、全角5文字相当(即ち半角10桁)で右揃えしたいのなら、
    > 次のような方法も。
    >  #部分列( [商品名],  1, -12 )
    >  #部分列( [メーカー], 1, -10 )

    すでに投稿されている悲しげ氏の回答( ■12668 )と重複するので、当方からの回答はいたしません。悪しからずご了承ください。

    さらに、疑問があれば、悲しげ氏の回答( ■12668 )にリンクして投稿してください。
引用返信 [メール受信/OFF] 削除キー/
■12673 / inTopicNo.7)  Re[2]: 文字数を合わせる
□投稿者/ くおんたむ -(2020/10/22(Thu) 20:59:42)
    どうも、石井善幸さん

    蛇足ですが、桐のヘルプに固定長テキストの作成方法が
    記載されています。

    一括処理での作成になっていますが、桁揃えなどが参考になると思います。

    手順は面倒ですが、表テーブルで作成してテキストファイルへ
    書き出す方法もあります。

    書き出し テキストのヘルプの「Q&A」にありますよ。

引用返信 [メール受信/OFF] 削除キー/
■12677 / inTopicNo.8)  Re[4]: 文字数を合わせる
□投稿者/ 石井善幸 -(2020/10/23(Fri) 11:04:45)
    ONnojiさん

    > すでに、北の大地から悲しげ氏が回答済みですよ。
    >
    > こちら
    >  ↓
    >>仮に固定長出力とかで、全角5文字相当(即ち半角10桁)で右揃えしたいのなら、
    >>次のような方法も。
    >> #部分列( [商品名],  1, -12 )
    >> #部分列( [メーカー], 1, -10 )
    >
    > すでに投稿されている悲しげ氏の回答( ■12668 )と重複するので、当方からの回答はいたしません。悪しからずご了承ください。
    >
    > さらに、疑問があれば、悲しげ氏の回答( ■12668 )にリンクして投稿してください。

    ありがとうございます。
    何分不慣れなもので申し訳ありません。

引用返信 [メール受信/OFF] 削除キー/
■12678 / inTopicNo.9)  Re[4]: 文字数を合わせる
□投稿者/ 石井善幸 -(2020/10/23(Fri) 11:14:24)
    悲しげさん


    ありがとうございます。
    何分不慣れなもので申し訳ありません。
    よろしくお願いいたします。

    >  #部分列([商品名],6)
    >  #部分列([メーカー],5)
    この方法でうまくいったのですが
    現場からこの後ろに[単価]を!
    と、言われました。

    [単価]は通貨で設定しております。
    右揃えになっています。
    [単価-2]という項目をつくり
    項目計算式に
    #部分列(#「通貨文字列([単価],""),1,-12)としました。

    [単価]=4,500
    [単価-2]=4,500の後ろに空白がはいってしまいました。

    [単価-2]=   4,500とするには
    どうすればよろしいでしょうか?

    よろしくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/
■12679 / inTopicNo.10)  Re[3]: 文字数を合わせる
□投稿者/ 石井善幸 -(2020/10/23(Fri) 11:18:06)
    くおんたむさん

    ありがとうございます。
    >
    > 蛇足ですが、桐のヘルプに固定長テキストの作成方法が
    > 記載されています。
    >
    > 一括処理での作成になっていますが、桁揃えなどが参考になると思います。
    >
    > 手順は面倒ですが、表テーブルで作成してテキストファイルへ
    > 書き出す方法もあります。
    >
    > 書き出し テキストのヘルプの「Q&A」にありますよ。

    桐ヘルプ確認してみます。

引用返信 [メール受信/OFF] 削除キー/
■12681 / inTopicNo.11)  Re[5]: 文字数を合わせる
□投稿者/ DEDE -(2020/10/23(Fri) 12:29:37)
    > #部分列(#「通貨文字列([単価],""),1,-12)としました。
    >
    > [単価]=4,500
    > [単価-2]=4,500の後ろに空白がはいってしまいました。
    >
    > [単価-2]=   4,500とするには

     #部分列(#複写(" ",12)+#通貨文字列([単価],""),12-#文字数(#通貨文字列([単価]),""),12)
引用返信 [メール受信/OFF] 削除キー/
■12682 / inTopicNo.12)  Re[5]: 文字数を合わせる
□投稿者/ ONnoji -(2020/10/23(Fri) 13:03:39)
    2020/10/23(Fri) 13:39:00 編集(投稿者)

    悲しげさん、横レスで失礼しま〜す。m(__)m

    > #部分列(#「通貨文字列([単価],""),1,-12)としました。
    > [単価-2]=   4,500とするには
    > どうすればよろしいでしょうか?

    固定長の数値の場合の常套手段でして、

    考え方は、(半角の空白文字12個の文字列)と([単価]を変換した文字列)を連結して、(右側から12桁分取り出す)ですよ。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇

    #右側文字列( #複写( " ", 12 ) + #通貨文字列( [単価], "" ), -12 ) ← #通貨文字列では位取りコンマ(,)が入るので普通は使いませんけど?

     または

    #右側文字列( #複写( " ", 12 ) + #文字列( [単価] ), -12 ) ← #文字列では位取りコンマ(,)は入りません

     または

    #右側文字列( #複写( " ", 12 ) + #str( [単価] ), -12 ) ← #str は #文字列 の別名です


    注意:

    #複写( " ", 12 )
        ↑
       ここは半角空白文字を二重引用符で囲んだものです。


    p.s.

    最初から[固定長のテキストを出力する]と教えてくれたら、文字列のほかに数値の変換もお知らせしたんですけれどねぇ〜。(^^ゞ


引用返信 [メール受信/OFF] 削除キー/
■12684 / inTopicNo.13)  Re[6]: 文字数を合わせる
□投稿者/ 石井善幸 -(2020/10/23(Fri) 14:04:49)
    皆さん
    ありがとうございました。

    #右側文字列( #複写( " ", 12 ) + #通貨文字列( [単価], "" ), -12 )
    で希望とおりの事ができました。

    これでホッとしました。

    ありがとうございました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■12686 / inTopicNo.14)  Re[6]: 文字数を合わせる
□投稿者/ ONnoji -(2020/10/23(Fri) 15:21:36)
    2020/10/23(Fri) 17:44:07 編集(投稿者)
    2020/10/23(Fri) 15:51:39 編集(投稿者)

    >  #部分列(#複写(" ",12)+#通貨文字列([単価],""),12-#文字数(#通貨文字列([単価]),""),12)

    エラーするので調べましたが、カッコの位置が正しくないようですよ。

    × #部分列( #複写(" ",12) + #通貨文字列([単価],""), 12 - #文字数( #通貨文字列([単価]), "" ), 12 )
                                              ↓
                                              └──┐
                                                 ↓
    ○ #部分列( #複写(" ",12) + #通貨文字列([単価],""), 12 - #文字数( #通貨文字列([単価], "" ) ), 12 )

    なお、計算結果も正しくないですよ。

    正しい計算結果は次の式で得られると思います。

     #部分列( #複写(" ",12) + #通貨文字列([単価],""), 1 + ( 12 - ( 12 - #文字数( #通貨文字列([単価], "" ) ) ) ), 12 )

    なお、↓次のように、1 + ( 12 - ( 12 - 文字数 ) ) の計算をはしょって、13 - ( 12 - 文字数 )にしてもいいけれど、何故13なのか分かりにくいですね。

     #部分列( #複写(" ",12) + #通貨文字列([単価],""), 13 - ( 12 - #文字数( #通貨文字列([単価], "" ) ) ), 12 )

    ちなみに、#部分列( str , n1 【 | , n2 】 ) の n2 の12 を省略しても、n1 が正しく計算されていればOKなので↓次のようにも

     #部分列( #複写(" ",12) + #通貨文字列([単価],""), 13 - ( 12 - #文字数( #通貨文字列([単価], "" ) ) ) )

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    老婆心ながら、投稿する際には実際に試してからがベターですよ。

    桐には[#右側文字列]という関数がありますので、[#右側文字列]を使う方が簡単ですよ。


引用返信 [メール受信/OFF] 削除キー/
■12697 / inTopicNo.15)  Re[7]: 文字数を合わせる
□投稿者/ DEDE -(2020/10/27(Tue) 17:55:31)
    なるほど、、
    勉強になります。
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -