Indexへ
(10356)//【10323】→(10329)
------------------------
【タイトル】文字列の前後を揃えたい
【記事番号】 10323 (*)
【 日時 】06/03/31 11:59
【 発言者 】おっとー

みなさんに大変お世話になっております。
文字列の前後を揃えたいのです。
前だけ、後だけなら文字位置・集計で出来ることは知っているのですが
前後揃えるものも、文字列の最後に^1〜^9を記載することで、文字列を短く表示させることと、文字列の最後に「・」(全角の中点)を入力することで、文字の均等割り付けすることで揃えることが出来るのはわかっているのですが、
それを一括で出来る方法 又は外部変形などありましたら教えてもらえると助かるのですが?
仕様書などの文字整理で枠内に納まらない文字を1つづつ修正していて上記のことができれば時間短縮になると考えましたので質問しました。


Indexへ
(10323)←【10329】→(10331)
------------------------
【タイトル】Re(1):文字列の前後を揃えたい
【記事番号】 10329 (10323)
【 日時 】06/03/31 12:41
【 発言者 】350。

▼おっとーさん:
>文字列の前後を揃えたいのです。
>前だけ、後だけなら文字位置・集計で出来ることは知っているのですが
>前後揃えるものも、文字列の最後に^1〜^9を記載することで、文字列を短く表示させることと、文字列の最後に「・」(全角の中点)を入力することで、文字の均等割り付けすることで揃えることが出来るのはわかっているのですが、
>それを一括で出来る方法 又は外部変形などありましたら教えてもらえると助かるのですが?
>仕様書などの文字整理で枠内に納まらない文字を1つづつ修正していて上記のことができれば時間短縮になると考えましたので質問しました。

[文字]コマンドより範囲選択確定後に、コントロールバーより「NOTEPAD」等のエディターを起動し、編集、書き戻す方法もあります。
XPでしたら「NOTEPAD」も置換機能があり、置換機能があるもの使用をお勧め致します。

一例として書込いたしました、ご存じでしたらお許し下さい。


Indexへ
(10329)←【10331】→(10351)
------------------------
【タイトル】Re(2):文字列の前後を揃えたい
【記事番号】 10331 (10329)
【 日時 】06/03/31 13:12
【 発言者 】おっとー

▼350。さん:
>▼おっとーさん:
>>文字列の前後を揃えたいのです。
>>前だけ、後だけなら文字位置・集計で出来ることは知っているのですが
>>前後揃えるものも、文字列の最後に^1〜^9を記載することで、文字列を短く表示させることと、文字列の最後に「・」(全角の中点)を入力することで、文字の均等割り付けすることで揃えることが出来るのはわかっているのですが、
>>それを一括で出来る方法 又は外部変形などありましたら教えてもらえると助かるのですが?
>>仕様書などの文字整理で枠内に納まらない文字を1つづつ修正していて上記のことができれば時間短縮になると考えましたので質問しました。
>
>[文字]コマンドより範囲選択確定後に、コントロールバーより「NOTEPAD」等のエディターを起動し、編集、書き戻す方法もあります。
>XPでしたら「NOTEPAD」も置換機能があり、置換機能があるもの使用をお勧め致します。
>
>一例として書込いたしました、ご存じでしたらお許し下さい。

ありがとうございます。
同じ文字の一括編集には使わせてもらっています。
この機能、文字の間隔の変更にも対応するのですか?


Indexへ
(10331)←【10351】→(10354)
------------------------
【タイトル】やっぱり、出来ないようですね。
【記事番号】 10351 (10331)
【 日時 】06/03/31 21:38
【 発言者 】おっとー

350。さんへ
やっぱり、出来ないようですね。ありがとうございました。


Indexへ
(10351)←【10354】→(10355)
------------------------
【タイトル】Re(1):やっぱり、出来ないようですね。
【記事番号】 10354 (10351)
【 日時 】06/04/01 00:23
【 発言者 】スター

▼おっとーさん:
>350。さんへ
>やっぱり、出来ないようですね。ありがとうございました。

例えば外部エディタをエクセルにします。
エクセルのA列の各セルに文字列が入ります。
エクセルの機能を使えば可能です。
元をA1  (たとえばA1にあいう)
B1に=A1&"・・・・・・・・・・"
C1に=left(B1,6)
結果はC1にあいう・・・
になります。
B,Cをコピーし
C列をA列に値複写し、B,C列を消去し保存し終了します。
これで完了です。


Indexへ
(10354)←【10355】→(10357)
------------------------
【タイトル】ありがとうございました。
【記事番号】 10355 (10354)
【 日時 】06/04/01 05:45
【 発言者 】おっとー

▼スターさん:
>例えば外部エディタをエクセルにします。
>エクセルのA列の各セルに文字列が入ります。
>エクセルの機能を使えば可能です。
>元をA1  (たとえばA1にあいう)
>B1に=A1&"・・・・・・・・・・"
>C1に=left(B1,6)
>結果はC1にあいう・・・
>になります。
>B,Cをコピーし
>C列をA列に値複写し、B,C列を消去し保存し終了します。
>これで完了です。

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


Indexへ
(10355)←【10357】→(10358)
------------------------
【タイトル】Re(3):文字列の前後を揃えたい
【記事番号】 10357 (10331)
【 日時 】06/04/01 08:54
【 発言者 】鈴木

▼おっとーさん:

>>>文字列の前後を揃えたいのです。
>同じ文字の一括編集には使わせてもらっています。
>この機能、文字の間隔の変更にも対応するのですか?

●10文字行と8文字行と7文字行の3行の前後を揃える場合、おっとーさんが
ご存知の全角・を不足文字分、文字末尾に付け加える方法です。
Jwwではこれを1行ずつやるのですが、エディターでは上記3行を範囲指定して
エディターに取り込んで・を不足2行に付加すれば、文字間隔調整と、文字列の前後が
揃うということを350さんは回答しているのだと推測します。
ワードには均等割り付けの機能がありますが、コピペでJwwに文字間隔調整後の
文字は反映されないと思います。
外変で文字間隔調整のものがあるか不明です。


Indexへ
(10357)←【10358】→(10359)
------------------------
【タイトル】Re(4):文字列の前後を揃えたい
【記事番号】 10358 (10357)
【 日時 】06/04/01 09:17
【 発言者 】おっとー

▼鈴木さん:
>>>>文字列の前後を揃えたいのです。
>>同じ文字の一括編集には使わせてもらっています。
>>この機能、文字の間隔の変更にも対応するのですか?
>
>●10文字行と8文字行と7文字行の3行の前後を揃える場合、おっとーさんが
>ご存知の全角・を不足文字分、文字末尾に付け加える方法です。
>Jwwではこれを1行ずつやるのですが、エディターでは上記3行を範囲指定して
>エディターに取り込んで・を不足2行に付加すれば、文字間隔調整と、文字列の前後が
>揃うということを350さんは回答しているのだと推測します。
>ワードには均等割り付けの機能がありますが、コピペでJwwに文字間隔調整後の
>文字は反映されないと思います。
>外変で文字間隔調整のものがあるか不明です。

そうですか。大変勉強になりました。ありがとうございます。


Indexへ
(10358)←【10359】→(10360)
------------------------
【タイトル】Re(1):文字列の前後を揃えたい
【記事番号】 10359 (10323)
【 日時 】06/04/01 09:17
【 発言者 】art modanart@hotmail.com

▼おっとーさん:
範囲指定内の文字列を一括で均等割付及び均等縮小できるように文字列に”・”や”^1”等の文字列を挿入する外部変形を以前コジマさんに作って頂きました。(コジマさんありがとうございました。)結構、小回りのきく使い方が出来ており重宝しています。
こちらで考えられている事が対応可能かと思います。(下記は、そのときの過去ログです。)
http://www.jwcad.net/log/consult2/consult2-0601-03/thread9390.htm#9390


Indexへ
(10359)←【10360】→(10361)
------------------------
【タイトル】Re(2):文字列の前後を揃えたい
【記事番号】 10360 (10359)
【 日時 】06/04/01 10:33
【 発言者 】おっとー

▼artさん:
>範囲指定内の文字列を一括で均等割付及び均等縮小できるように文字列に”・”や”^1”等の文字列を挿入する外部変形を以前コジマさんに作って頂きました。(コジマさんありがとうございました。)結構、小回りのきく使い方が出来ており重宝しています。
>こちらで考えられている事が対応可能かと思います。(下記は、そのときの過去ログです。)
>http://www.jwcad.net/log/consult2/consult2-0601-03/thread9390.htm#9390

貴重な情報ありがとうございます。
これからもどうぞ宜しくお願いします。


Indexへ
(10360)←【10361】//(10326)
------------------------
【タイトル】Re(2):文字列の前後を揃えたい
【記事番号】 10361 (10359)
【 日時 】06/04/01 10:43
【 発言者 】コジマ

▼artさん:
>範囲指定内の文字列を一括で均等割付及び均等縮小できるように文字列に”・”や”^1”等の文字列を挿入する外部変形を以前コジマさんに作って頂きました

数種類の長さの文字列を一括で、文字位置と長さを揃えたいとのことのようなので、
その外変では、満足されない気がします。

一気に実現するのは、相当メンドーですが、
一番時間のかかる 文字列長さを揃える 部分だけならば以下の外変で可能です。

私自身は、以下の外変を使うことはありません。
(理由→DXF SXF 変換すると、無効になる為。)
文字列長さが揃ってなくても、客先から訂正させられたこともありませんし、
私自身も、全く気になりませんので。


◎バッチファイル(ファイル名 文字長一致.bat)

@REM 複数文字の長さを揃える
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #h3
REM #hc文字を範囲選択(基準長さの文字より9バイト以上長い文字があると未実行)
REM #1ch基準長さの文字列を指示してください
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 文字長一致.rb temp.txt > jwc_temp.txt

◎スクリプトファイル(ファイル名 文字長一致.rb)

moji_a=[];moji_size=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^hhp1ch/
        hhpno=ARGF.lineno
    end
    if xy[0]=~/^ch/
        chno=ARGF.lineno
        moji=$'.chomp if $_ =~/\"/
        moji_a<<[xy[1].to_f,xy[2].to_f,moji]
        moji_size<        kijun_size=moji.size if chno.to_i==hhpno.to_i+1
    end
end
moji_max=moji_size.max
if (moji_max-kijun_size)<10
    puts "hd"
    open("temp.txt","r"){|f|
        while line=f.gets
            xy=line.split
            if xy[0]=~/^hq/
            elsif xy[0]=~/^ch/
                moji=$'.chomp if line =~/\"/
                if moji.size                    sin_moji=moji +"・"*((kijun_size-moji.size)/2)
                    puts xy[0,5].join("\s")+"\s\""+sin_moji
                elsif moji.size>kijun_size
                    sin_moji=moji +"^#{moji.size-kijun_size}"
                    puts xy[0,5].join("\s")+"\s\""+sin_moji
                else
                    print $_
                end
            else
                print $_
            end
        end
    }
else
    printf("h#基準長さの文字より9バイト以上長い文字があります\n")
end